package org.eclipse.gittab.contentassist.antlr.internal; 

import org.antlr.runtime.BitSet;
import org.antlr.runtime.NoViableAltException;
import org.antlr.runtime.RecognitionException;
import org.antlr.runtime.TokenStream;
import org.eclipse.gittab.services.GitTabDslGrammarAccess;
import org.eclipse.xtext.Grammar;
import org.eclipse.xtext.ui.common.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;

public class InternalGitTabDslParser extends AbstractInternalContentAssistParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_INT", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Nylon'", "'Acoustic'", "'Jazz Electric'", "'Clean'", "'Overdrive'", "'Distortion'", "'C'", "'C#'", "'Db'", "'D'", "'D#'", "'Eb'", "'E'", "'F'", "'F#'", "'Gb'", "'G'", "'G#'", "'Ab'", "'A'", "'A#'", "'Bb'", "'B'", "'w'", "'h'", "'q'", "'e'", "'s'", "'import '", "'tuning: '", "' frets '", "'tune string '", "' to '", "' midi '", "'chord library: '", "'chord '", "'tab: '", "'name '", "' by '", "' tempo '", "' tact '", "'/'", "' guitar '", "'||:'", "':||'", "' |'", "'='", "'*'", "' '", "'.'", "'#'", "'>'", "'<'", "'!'", "'-'", "' oct'"
    };
    public static final int RULE_ID=6;
    public static final int RULE_STRING=4;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=5;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

        public InternalGitTabDslParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g"; }


     
     	private GitTabDslGrammarAccess grammarAccess;
     	
        public void setGrammarAccess(GitTabDslGrammarAccess grammarAccess) {
        	this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected Grammar getGrammar() {
        	return grammarAccess.getGrammar();
        }
        
        @Override
        protected String getValueForTokenName(String tokenName) {
        	return tokenName;
        }




    // $ANTLR start entryRuleTabModel
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:60:1: entryRuleTabModel : ruleTabModel EOF ;
    public final void entryRuleTabModel() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:60:19: ( ruleTabModel EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:61:1: ruleTabModel EOF
            {
             before(grammarAccess.getTabModelRule()); 
            pushFollow(FOLLOW_ruleTabModel_in_entryRuleTabModel60);
            ruleTabModel();
            _fsp--;

             after(grammarAccess.getTabModelRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTabModel67); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleTabModel


    // $ANTLR start ruleTabModel
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:68:1: ruleTabModel : ( ( rule__TabModel__Group__0 ) ) ;
    public final void ruleTabModel() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:72:2: ( ( ( rule__TabModel__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:73:1: ( ( rule__TabModel__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:73:1: ( ( rule__TabModel__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:74:1: ( rule__TabModel__Group__0 )
            {
             before(grammarAccess.getTabModelAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:75:1: ( rule__TabModel__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:75:2: rule__TabModel__Group__0
            {
            pushFollow(FOLLOW_rule__TabModel__Group__0_in_ruleTabModel94);
            rule__TabModel__Group__0();
            _fsp--;


            }

             after(grammarAccess.getTabModelAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleTabModel


    // $ANTLR start entryRuleImport
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:87:1: entryRuleImport : ruleImport EOF ;
    public final void entryRuleImport() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:87:17: ( ruleImport EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:88:1: ruleImport EOF
            {
             before(grammarAccess.getImportRule()); 
            pushFollow(FOLLOW_ruleImport_in_entryRuleImport120);
            ruleImport();
            _fsp--;

             after(grammarAccess.getImportRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleImport127); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleImport


    // $ANTLR start ruleImport
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:95:1: ruleImport : ( ( rule__Import__Group__0 ) ) ;
    public final void ruleImport() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:99:2: ( ( ( rule__Import__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:100:1: ( ( rule__Import__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:100:1: ( ( rule__Import__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:101:1: ( rule__Import__Group__0 )
            {
             before(grammarAccess.getImportAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:102:1: ( rule__Import__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:102:2: rule__Import__Group__0
            {
            pushFollow(FOLLOW_rule__Import__Group__0_in_ruleImport154);
            rule__Import__Group__0();
            _fsp--;


            }

             after(grammarAccess.getImportAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleImport


    // $ANTLR start entryRuleTuning
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:114:1: entryRuleTuning : ruleTuning EOF ;
    public final void entryRuleTuning() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:114:17: ( ruleTuning EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:115:1: ruleTuning EOF
            {
             before(grammarAccess.getTuningRule()); 
            pushFollow(FOLLOW_ruleTuning_in_entryRuleTuning180);
            ruleTuning();
            _fsp--;

             after(grammarAccess.getTuningRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTuning187); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleTuning


    // $ANTLR start ruleTuning
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:122:1: ruleTuning : ( ( rule__Tuning__Group__0 ) ) ;
    public final void ruleTuning() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:126:2: ( ( ( rule__Tuning__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:127:1: ( ( rule__Tuning__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:127:1: ( ( rule__Tuning__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:128:1: ( rule__Tuning__Group__0 )
            {
             before(grammarAccess.getTuningAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:129:1: ( rule__Tuning__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:129:2: rule__Tuning__Group__0
            {
            pushFollow(FOLLOW_rule__Tuning__Group__0_in_ruleTuning214);
            rule__Tuning__Group__0();
            _fsp--;


            }

             after(grammarAccess.getTuningAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleTuning


    // $ANTLR start entryRuleGuitarStr
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:141:1: entryRuleGuitarStr : ruleGuitarStr EOF ;
    public final void entryRuleGuitarStr() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:141:20: ( ruleGuitarStr EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:142:1: ruleGuitarStr EOF
            {
             before(grammarAccess.getGuitarStrRule()); 
            pushFollow(FOLLOW_ruleGuitarStr_in_entryRuleGuitarStr240);
            ruleGuitarStr();
            _fsp--;

             after(grammarAccess.getGuitarStrRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleGuitarStr247); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleGuitarStr


    // $ANTLR start ruleGuitarStr
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:149:1: ruleGuitarStr : ( ( rule__GuitarStr__Group__0 ) ) ;
    public final void ruleGuitarStr() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:153:2: ( ( ( rule__GuitarStr__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:154:1: ( ( rule__GuitarStr__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:154:1: ( ( rule__GuitarStr__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:155:1: ( rule__GuitarStr__Group__0 )
            {
             before(grammarAccess.getGuitarStrAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:156:1: ( rule__GuitarStr__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:156:2: rule__GuitarStr__Group__0
            {
            pushFollow(FOLLOW_rule__GuitarStr__Group__0_in_ruleGuitarStr274);
            rule__GuitarStr__Group__0();
            _fsp--;


            }

             after(grammarAccess.getGuitarStrAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleGuitarStr


    // $ANTLR start entryRuleChordLibrary
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:168:1: entryRuleChordLibrary : ruleChordLibrary EOF ;
    public final void entryRuleChordLibrary() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:168:23: ( ruleChordLibrary EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:169:1: ruleChordLibrary EOF
            {
             before(grammarAccess.getChordLibraryRule()); 
            pushFollow(FOLLOW_ruleChordLibrary_in_entryRuleChordLibrary300);
            ruleChordLibrary();
            _fsp--;

             after(grammarAccess.getChordLibraryRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleChordLibrary307); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleChordLibrary


    // $ANTLR start ruleChordLibrary
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:176:1: ruleChordLibrary : ( ( rule__ChordLibrary__Group__0 ) ) ;
    public final void ruleChordLibrary() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:180:2: ( ( ( rule__ChordLibrary__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:181:1: ( ( rule__ChordLibrary__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:181:1: ( ( rule__ChordLibrary__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:182:1: ( rule__ChordLibrary__Group__0 )
            {
             before(grammarAccess.getChordLibraryAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:183:1: ( rule__ChordLibrary__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:183:2: rule__ChordLibrary__Group__0
            {
            pushFollow(FOLLOW_rule__ChordLibrary__Group__0_in_ruleChordLibrary334);
            rule__ChordLibrary__Group__0();
            _fsp--;


            }

             after(grammarAccess.getChordLibraryAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleChordLibrary


    // $ANTLR start entryRuleChordDefinition
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:195:1: entryRuleChordDefinition : ruleChordDefinition EOF ;
    public final void entryRuleChordDefinition() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:195:26: ( ruleChordDefinition EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:196:1: ruleChordDefinition EOF
            {
             before(grammarAccess.getChordDefinitionRule()); 
            pushFollow(FOLLOW_ruleChordDefinition_in_entryRuleChordDefinition360);
            ruleChordDefinition();
            _fsp--;

             after(grammarAccess.getChordDefinitionRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleChordDefinition367); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleChordDefinition


    // $ANTLR start ruleChordDefinition
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:203:1: ruleChordDefinition : ( ( rule__ChordDefinition__Group__0 ) ) ;
    public final void ruleChordDefinition() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:207:2: ( ( ( rule__ChordDefinition__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:208:1: ( ( rule__ChordDefinition__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:208:1: ( ( rule__ChordDefinition__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:209:1: ( rule__ChordDefinition__Group__0 )
            {
             before(grammarAccess.getChordDefinitionAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:210:1: ( rule__ChordDefinition__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:210:2: rule__ChordDefinition__Group__0
            {
            pushFollow(FOLLOW_rule__ChordDefinition__Group__0_in_ruleChordDefinition394);
            rule__ChordDefinition__Group__0();
            _fsp--;


            }

             after(grammarAccess.getChordDefinitionAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleChordDefinition


    // $ANTLR start entryRuleTab
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:222:1: entryRuleTab : ruleTab EOF ;
    public final void entryRuleTab() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:222:14: ( ruleTab EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:223:1: ruleTab EOF
            {
             before(grammarAccess.getTabRule()); 
            pushFollow(FOLLOW_ruleTab_in_entryRuleTab420);
            ruleTab();
            _fsp--;

             after(grammarAccess.getTabRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTab427); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleTab


    // $ANTLR start ruleTab
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:230:1: ruleTab : ( ( rule__Tab__Group__0 ) ) ;
    public final void ruleTab() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:234:2: ( ( ( rule__Tab__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:235:1: ( ( rule__Tab__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:235:1: ( ( rule__Tab__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:236:1: ( rule__Tab__Group__0 )
            {
             before(grammarAccess.getTabAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:237:1: ( rule__Tab__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:237:2: rule__Tab__Group__0
            {
            pushFollow(FOLLOW_rule__Tab__Group__0_in_ruleTab454);
            rule__Tab__Group__0();
            _fsp--;


            }

             after(grammarAccess.getTabAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleTab


    // $ANTLR start entryRuleBeat
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:249:1: entryRuleBeat : ruleBeat EOF ;
    public final void entryRuleBeat() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:249:15: ( ruleBeat EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:250:1: ruleBeat EOF
            {
             before(grammarAccess.getBeatRule()); 
            pushFollow(FOLLOW_ruleBeat_in_entryRuleBeat480);
            ruleBeat();
            _fsp--;

             after(grammarAccess.getBeatRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBeat487); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleBeat


    // $ANTLR start ruleBeat
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:257:1: ruleBeat : ( ( rule__Beat__Group__0 ) ) ;
    public final void ruleBeat() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:261:2: ( ( ( rule__Beat__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:262:1: ( ( rule__Beat__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:262:1: ( ( rule__Beat__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:263:1: ( rule__Beat__Group__0 )
            {
             before(grammarAccess.getBeatAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:264:1: ( rule__Beat__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:264:2: rule__Beat__Group__0
            {
            pushFollow(FOLLOW_rule__Beat__Group__0_in_ruleBeat514);
            rule__Beat__Group__0();
            _fsp--;


            }

             after(grammarAccess.getBeatAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleBeat


    // $ANTLR start entryRuleTone
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:276:1: entryRuleTone : ruleTone EOF ;
    public final void entryRuleTone() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:276:15: ( ruleTone EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:277:1: ruleTone EOF
            {
             before(grammarAccess.getToneRule()); 
            pushFollow(FOLLOW_ruleTone_in_entryRuleTone540);
            ruleTone();
            _fsp--;

             after(grammarAccess.getToneRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTone547); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleTone


    // $ANTLR start ruleTone
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:284:1: ruleTone : ( ( rule__Tone__Group__0 ) ) ;
    public final void ruleTone() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:288:2: ( ( ( rule__Tone__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:289:1: ( ( rule__Tone__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:289:1: ( ( rule__Tone__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:290:1: ( rule__Tone__Group__0 )
            {
             before(grammarAccess.getToneAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:291:1: ( rule__Tone__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:291:2: rule__Tone__Group__0
            {
            pushFollow(FOLLOW_rule__Tone__Group__0_in_ruleTone574);
            rule__Tone__Group__0();
            _fsp--;


            }

             after(grammarAccess.getToneAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleTone


    // $ANTLR start entryRuleStroke
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:303:1: entryRuleStroke : ruleStroke EOF ;
    public final void entryRuleStroke() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:303:17: ( ruleStroke EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:304:1: ruleStroke EOF
            {
             before(grammarAccess.getStrokeRule()); 
            pushFollow(FOLLOW_ruleStroke_in_entryRuleStroke600);
            ruleStroke();
            _fsp--;

             after(grammarAccess.getStrokeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleStroke607); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleStroke


    // $ANTLR start ruleStroke
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:311:1: ruleStroke : ( ( rule__Stroke__Alternatives ) ) ;
    public final void ruleStroke() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:315:2: ( ( ( rule__Stroke__Alternatives ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:316:1: ( ( rule__Stroke__Alternatives ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:316:1: ( ( rule__Stroke__Alternatives ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:317:1: ( rule__Stroke__Alternatives )
            {
             before(grammarAccess.getStrokeAccess().getAlternatives()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:318:1: ( rule__Stroke__Alternatives )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:318:2: rule__Stroke__Alternatives
            {
            pushFollow(FOLLOW_rule__Stroke__Alternatives_in_ruleStroke634);
            rule__Stroke__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getStrokeAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleStroke


    // $ANTLR start entryRuleDownStroke
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:330:1: entryRuleDownStroke : ruleDownStroke EOF ;
    public final void entryRuleDownStroke() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:330:21: ( ruleDownStroke EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:331:1: ruleDownStroke EOF
            {
             before(grammarAccess.getDownStrokeRule()); 
            pushFollow(FOLLOW_ruleDownStroke_in_entryRuleDownStroke660);
            ruleDownStroke();
            _fsp--;

             after(grammarAccess.getDownStrokeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDownStroke667); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleDownStroke


    // $ANTLR start ruleDownStroke
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:338:1: ruleDownStroke : ( ( rule__DownStroke__Group__0 ) ) ;
    public final void ruleDownStroke() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:342:2: ( ( ( rule__DownStroke__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:343:1: ( ( rule__DownStroke__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:343:1: ( ( rule__DownStroke__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:344:1: ( rule__DownStroke__Group__0 )
            {
             before(grammarAccess.getDownStrokeAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:345:1: ( rule__DownStroke__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:345:2: rule__DownStroke__Group__0
            {
            pushFollow(FOLLOW_rule__DownStroke__Group__0_in_ruleDownStroke694);
            rule__DownStroke__Group__0();
            _fsp--;


            }

             after(grammarAccess.getDownStrokeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleDownStroke


    // $ANTLR start entryRuleUpStroke
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:357:1: entryRuleUpStroke : ruleUpStroke EOF ;
    public final void entryRuleUpStroke() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:357:19: ( ruleUpStroke EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:358:1: ruleUpStroke EOF
            {
             before(grammarAccess.getUpStrokeRule()); 
            pushFollow(FOLLOW_ruleUpStroke_in_entryRuleUpStroke720);
            ruleUpStroke();
            _fsp--;

             after(grammarAccess.getUpStrokeRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleUpStroke727); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleUpStroke


    // $ANTLR start ruleUpStroke
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:365:1: ruleUpStroke : ( ( rule__UpStroke__Group__0 ) ) ;
    public final void ruleUpStroke() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:369:2: ( ( ( rule__UpStroke__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:370:1: ( ( rule__UpStroke__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:370:1: ( ( rule__UpStroke__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:371:1: ( rule__UpStroke__Group__0 )
            {
             before(grammarAccess.getUpStrokeAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:372:1: ( rule__UpStroke__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:372:2: rule__UpStroke__Group__0
            {
            pushFollow(FOLLOW_rule__UpStroke__Group__0_in_ruleUpStroke754);
            rule__UpStroke__Group__0();
            _fsp--;


            }

             after(grammarAccess.getUpStrokeAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleUpStroke


    // $ANTLR start entryRulePause
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:384:1: entryRulePause : rulePause EOF ;
    public final void entryRulePause() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:384:16: ( rulePause EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:385:1: rulePause EOF
            {
             before(grammarAccess.getPauseRule()); 
            pushFollow(FOLLOW_rulePause_in_entryRulePause780);
            rulePause();
            _fsp--;

             after(grammarAccess.getPauseRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRulePause787); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRulePause


    // $ANTLR start rulePause
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:392:1: rulePause : ( ( rule__Pause__NameAssignment ) ) ;
    public final void rulePause() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:396:2: ( ( ( rule__Pause__NameAssignment ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:397:1: ( ( rule__Pause__NameAssignment ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:397:1: ( ( rule__Pause__NameAssignment ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:398:1: ( rule__Pause__NameAssignment )
            {
             before(grammarAccess.getPauseAccess().getNameAssignment()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:399:1: ( rule__Pause__NameAssignment )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:399:2: rule__Pause__NameAssignment
            {
            pushFollow(FOLLOW_rule__Pause__NameAssignment_in_rulePause814);
            rule__Pause__NameAssignment();
            _fsp--;


            }

             after(grammarAccess.getPauseAccess().getNameAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rulePause


    // $ANTLR start entryRuleHold
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:411:1: entryRuleHold : ruleHold EOF ;
    public final void entryRuleHold() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:411:15: ( ruleHold EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:412:1: ruleHold EOF
            {
             before(grammarAccess.getHoldRule()); 
            pushFollow(FOLLOW_ruleHold_in_entryRuleHold840);
            ruleHold();
            _fsp--;

             after(grammarAccess.getHoldRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleHold847); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleHold


    // $ANTLR start ruleHold
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:419:1: ruleHold : ( ( rule__Hold__NameAssignment ) ) ;
    public final void ruleHold() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:423:2: ( ( ( rule__Hold__NameAssignment ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:424:1: ( ( rule__Hold__NameAssignment ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:424:1: ( ( rule__Hold__NameAssignment ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:425:1: ( rule__Hold__NameAssignment )
            {
             before(grammarAccess.getHoldAccess().getNameAssignment()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:426:1: ( rule__Hold__NameAssignment )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:426:2: rule__Hold__NameAssignment
            {
            pushFollow(FOLLOW_rule__Hold__NameAssignment_in_ruleHold874);
            rule__Hold__NameAssignment();
            _fsp--;


            }

             after(grammarAccess.getHoldAccess().getNameAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleHold


    // $ANTLR start entryRuleSound
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:438:1: entryRuleSound : ruleSound EOF ;
    public final void entryRuleSound() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:438:16: ( ruleSound EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:439:1: ruleSound EOF
            {
             before(grammarAccess.getSoundRule()); 
            pushFollow(FOLLOW_ruleSound_in_entryRuleSound900);
            ruleSound();
            _fsp--;

             after(grammarAccess.getSoundRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSound907); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleSound


    // $ANTLR start ruleSound
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:446:1: ruleSound : ( ( rule__Sound__Alternatives ) ) ;
    public final void ruleSound() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:450:2: ( ( ( rule__Sound__Alternatives ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:451:1: ( ( rule__Sound__Alternatives ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:451:1: ( ( rule__Sound__Alternatives ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:452:1: ( rule__Sound__Alternatives )
            {
             before(grammarAccess.getSoundAccess().getAlternatives()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:453:1: ( rule__Sound__Alternatives )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:453:2: rule__Sound__Alternatives
            {
            pushFollow(FOLLOW_rule__Sound__Alternatives_in_ruleSound934);
            rule__Sound__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getSoundAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleSound


    // $ANTLR start entryRuleChord
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:465:1: entryRuleChord : ruleChord EOF ;
    public final void entryRuleChord() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:465:16: ( ruleChord EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:466:1: ruleChord EOF
            {
             before(grammarAccess.getChordRule()); 
            pushFollow(FOLLOW_ruleChord_in_entryRuleChord960);
            ruleChord();
            _fsp--;

             after(grammarAccess.getChordRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleChord967); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleChord


    // $ANTLR start ruleChord
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:473:1: ruleChord : ( ( rule__Chord__ChordAssignment ) ) ;
    public final void ruleChord() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:477:2: ( ( ( rule__Chord__ChordAssignment ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:478:1: ( ( rule__Chord__ChordAssignment ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:478:1: ( ( rule__Chord__ChordAssignment ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:479:1: ( rule__Chord__ChordAssignment )
            {
             before(grammarAccess.getChordAccess().getChordAssignment()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:480:1: ( rule__Chord__ChordAssignment )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:480:2: rule__Chord__ChordAssignment
            {
            pushFollow(FOLLOW_rule__Chord__ChordAssignment_in_ruleChord994);
            rule__Chord__ChordAssignment();
            _fsp--;


            }

             after(grammarAccess.getChordAccess().getChordAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleChord


    // $ANTLR start entryRuleNote
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:492:1: entryRuleNote : ruleNote EOF ;
    public final void entryRuleNote() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:492:15: ( ruleNote EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:493:1: ruleNote EOF
            {
             before(grammarAccess.getNoteRule()); 
            pushFollow(FOLLOW_ruleNote_in_entryRuleNote1020);
            ruleNote();
            _fsp--;

             after(grammarAccess.getNoteRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNote1027); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleNote


    // $ANTLR start ruleNote
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:500:1: ruleNote : ( ( rule__Note__Group__0 ) ) ;
    public final void ruleNote() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:504:2: ( ( ( rule__Note__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:505:1: ( ( rule__Note__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:505:1: ( ( rule__Note__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:506:1: ( rule__Note__Group__0 )
            {
             before(grammarAccess.getNoteAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:507:1: ( rule__Note__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:507:2: rule__Note__Group__0
            {
            pushFollow(FOLLOW_rule__Note__Group__0_in_ruleNote1054);
            rule__Note__Group__0();
            _fsp--;


            }

             after(grammarAccess.getNoteAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNote


    // $ANTLR start entryRuleNoteWrapper
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:519:1: entryRuleNoteWrapper : ruleNoteWrapper EOF ;
    public final void entryRuleNoteWrapper() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:519:22: ( ruleNoteWrapper EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:520:1: ruleNoteWrapper EOF
            {
             before(grammarAccess.getNoteWrapperRule()); 
            pushFollow(FOLLOW_ruleNoteWrapper_in_entryRuleNoteWrapper1080);
            ruleNoteWrapper();
            _fsp--;

             after(grammarAccess.getNoteWrapperRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNoteWrapper1087); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleNoteWrapper


    // $ANTLR start ruleNoteWrapper
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:527:1: ruleNoteWrapper : ( ( rule__NoteWrapper__Alternatives ) ) ;
    public final void ruleNoteWrapper() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:531:2: ( ( ( rule__NoteWrapper__Alternatives ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:532:1: ( ( rule__NoteWrapper__Alternatives ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:532:1: ( ( rule__NoteWrapper__Alternatives ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:533:1: ( rule__NoteWrapper__Alternatives )
            {
             before(grammarAccess.getNoteWrapperAccess().getAlternatives()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:534:1: ( rule__NoteWrapper__Alternatives )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:534:2: rule__NoteWrapper__Alternatives
            {
            pushFollow(FOLLOW_rule__NoteWrapper__Alternatives_in_ruleNoteWrapper1114);
            rule__NoteWrapper__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getNoteWrapperAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNoteWrapper


    // $ANTLR start entryRuleFret
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:546:1: entryRuleFret : ruleFret EOF ;
    public final void entryRuleFret() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:546:15: ( ruleFret EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:547:1: ruleFret EOF
            {
             before(grammarAccess.getFretRule()); 
            pushFollow(FOLLOW_ruleFret_in_entryRuleFret1140);
            ruleFret();
            _fsp--;

             after(grammarAccess.getFretRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFret1147); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleFret


    // $ANTLR start ruleFret
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:554:1: ruleFret : ( ( rule__Fret__FretAssignment ) ) ;
    public final void ruleFret() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:558:2: ( ( ( rule__Fret__FretAssignment ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:559:1: ( ( rule__Fret__FretAssignment ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:559:1: ( ( rule__Fret__FretAssignment ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:560:1: ( rule__Fret__FretAssignment )
            {
             before(grammarAccess.getFretAccess().getFretAssignment()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:561:1: ( rule__Fret__FretAssignment )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:561:2: rule__Fret__FretAssignment
            {
            pushFollow(FOLLOW_rule__Fret__FretAssignment_in_ruleFret1174);
            rule__Fret__FretAssignment();
            _fsp--;


            }

             after(grammarAccess.getFretAccess().getFretAssignment()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleFret


    // $ANTLR start entryRuleNoteName
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:573:1: entryRuleNoteName : ruleNoteName EOF ;
    public final void entryRuleNoteName() throws RecognitionException {
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:573:19: ( ruleNoteName EOF )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:574:1: ruleNoteName EOF
            {
             before(grammarAccess.getNoteNameRule()); 
            pushFollow(FOLLOW_ruleNoteName_in_entryRuleNoteName1200);
            ruleNoteName();
            _fsp--;

             after(grammarAccess.getNoteNameRule()); 
            match(input,EOF,FOLLOW_EOF_in_entryRuleNoteName1207); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
    // $ANTLR end entryRuleNoteName


    // $ANTLR start ruleNoteName
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:581:1: ruleNoteName : ( ( rule__NoteName__Group__0 ) ) ;
    public final void ruleNoteName() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:585:2: ( ( ( rule__NoteName__Group__0 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:586:1: ( ( rule__NoteName__Group__0 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:586:1: ( ( rule__NoteName__Group__0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:587:1: ( rule__NoteName__Group__0 )
            {
             before(grammarAccess.getNoteNameAccess().getGroup()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:588:1: ( rule__NoteName__Group__0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:588:2: rule__NoteName__Group__0
            {
            pushFollow(FOLLOW_rule__NoteName__Group__0_in_ruleNoteName1234);
            rule__NoteName__Group__0();
            _fsp--;


            }

             after(grammarAccess.getNoteNameAccess().getGroup()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNoteName


    // $ANTLR start ruleGuitarSound
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:601:1: ruleGuitarSound : ( ( rule__GuitarSound__Alternatives ) ) ;
    public final void ruleGuitarSound() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:605:1: ( ( ( rule__GuitarSound__Alternatives ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:606:1: ( ( rule__GuitarSound__Alternatives ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:606:1: ( ( rule__GuitarSound__Alternatives ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:607:1: ( rule__GuitarSound__Alternatives )
            {
             before(grammarAccess.getGuitarSoundAccess().getAlternatives()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:608:1: ( rule__GuitarSound__Alternatives )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:608:2: rule__GuitarSound__Alternatives
            {
            pushFollow(FOLLOW_rule__GuitarSound__Alternatives_in_ruleGuitarSound1271);
            rule__GuitarSound__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getGuitarSoundAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleGuitarSound


    // $ANTLR start ruleNotes
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:620:1: ruleNotes : ( ( rule__Notes__Alternatives ) ) ;
    public final void ruleNotes() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:624:1: ( ( ( rule__Notes__Alternatives ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:625:1: ( ( rule__Notes__Alternatives ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:625:1: ( ( rule__Notes__Alternatives ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:626:1: ( rule__Notes__Alternatives )
            {
             before(grammarAccess.getNotesAccess().getAlternatives()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:627:1: ( rule__Notes__Alternatives )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:627:2: rule__Notes__Alternatives
            {
            pushFollow(FOLLOW_rule__Notes__Alternatives_in_ruleNotes1307);
            rule__Notes__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getNotesAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNotes


    // $ANTLR start ruleNoteValues
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:639:1: ruleNoteValues : ( ( rule__NoteValues__Alternatives ) ) ;
    public final void ruleNoteValues() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:643:1: ( ( ( rule__NoteValues__Alternatives ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:644:1: ( ( rule__NoteValues__Alternatives ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:644:1: ( ( rule__NoteValues__Alternatives ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:645:1: ( rule__NoteValues__Alternatives )
            {
             before(grammarAccess.getNoteValuesAccess().getAlternatives()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:646:1: ( rule__NoteValues__Alternatives )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:646:2: rule__NoteValues__Alternatives
            {
            pushFollow(FOLLOW_rule__NoteValues__Alternatives_in_ruleNoteValues1343);
            rule__NoteValues__Alternatives();
            _fsp--;


            }

             after(grammarAccess.getNoteValuesAccess().getAlternatives()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end ruleNoteValues


    // $ANTLR start rule__Stroke__Alternatives
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:657:1: rule__Stroke__Alternatives : ( ( ruleDownStroke ) | ( ruleUpStroke ) | ( rulePause ) | ( ruleHold ) );
    public final void rule__Stroke__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:661:1: ( ( ruleDownStroke ) | ( ruleUpStroke ) | ( rulePause ) | ( ruleHold ) )
            int alt1=4;
            switch ( input.LA(1) ) {
            case 61:
                {
                int LA1_1 = input.LA(2);

                if ( (LA1_1==62) ) {
                    alt1=1;
                }
                else if ( (LA1_1==63) ) {
                    alt1=2;
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("657:1: rule__Stroke__Alternatives : ( ( ruleDownStroke ) | ( ruleUpStroke ) | ( rulePause ) | ( ruleHold ) );", 1, 1, input);

                    throw nvae;
                }
                }
                break;
            case 62:
                {
                alt1=1;
                }
                break;
            case 63:
                {
                alt1=2;
                }
                break;
            case 64:
                {
                alt1=3;
                }
                break;
            case 65:
                {
                alt1=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("657:1: rule__Stroke__Alternatives : ( ( ruleDownStroke ) | ( ruleUpStroke ) | ( rulePause ) | ( ruleHold ) );", 1, 0, input);

                throw nvae;
            }

            switch (alt1) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:662:1: ( ruleDownStroke )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:662:1: ( ruleDownStroke )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:663:1: ruleDownStroke
                    {
                     before(grammarAccess.getStrokeAccess().getDownStrokeParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleDownStroke_in_rule__Stroke__Alternatives1378);
                    ruleDownStroke();
                    _fsp--;

                     after(grammarAccess.getStrokeAccess().getDownStrokeParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:668:6: ( ruleUpStroke )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:668:6: ( ruleUpStroke )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:669:1: ruleUpStroke
                    {
                     before(grammarAccess.getStrokeAccess().getUpStrokeParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleUpStroke_in_rule__Stroke__Alternatives1395);
                    ruleUpStroke();
                    _fsp--;

                     after(grammarAccess.getStrokeAccess().getUpStrokeParserRuleCall_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:674:6: ( rulePause )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:674:6: ( rulePause )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:675:1: rulePause
                    {
                     before(grammarAccess.getStrokeAccess().getPauseParserRuleCall_2()); 
                    pushFollow(FOLLOW_rulePause_in_rule__Stroke__Alternatives1412);
                    rulePause();
                    _fsp--;

                     after(grammarAccess.getStrokeAccess().getPauseParserRuleCall_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:680:6: ( ruleHold )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:680:6: ( ruleHold )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:681:1: ruleHold
                    {
                     before(grammarAccess.getStrokeAccess().getHoldParserRuleCall_3()); 
                    pushFollow(FOLLOW_ruleHold_in_rule__Stroke__Alternatives1429);
                    ruleHold();
                    _fsp--;

                     after(grammarAccess.getStrokeAccess().getHoldParserRuleCall_3()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Stroke__Alternatives


    // $ANTLR start rule__Sound__Alternatives
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:691:1: rule__Sound__Alternatives : ( ( ruleNote ) | ( ruleChord ) );
    public final void rule__Sound__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:695:1: ( ( ruleNote ) | ( ruleChord ) )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0==RULE_INT||(LA2_0>=17 && LA2_0<=33)) ) {
                alt2=1;
            }
            else if ( (LA2_0==RULE_STRING) ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("691:1: rule__Sound__Alternatives : ( ( ruleNote ) | ( ruleChord ) );", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:696:1: ( ruleNote )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:696:1: ( ruleNote )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:697:1: ruleNote
                    {
                     before(grammarAccess.getSoundAccess().getNoteParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleNote_in_rule__Sound__Alternatives1461);
                    ruleNote();
                    _fsp--;

                     after(grammarAccess.getSoundAccess().getNoteParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:702:6: ( ruleChord )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:702:6: ( ruleChord )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:703:1: ruleChord
                    {
                     before(grammarAccess.getSoundAccess().getChordParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleChord_in_rule__Sound__Alternatives1478);
                    ruleChord();
                    _fsp--;

                     after(grammarAccess.getSoundAccess().getChordParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Sound__Alternatives


    // $ANTLR start rule__NoteWrapper__Alternatives
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:713:1: rule__NoteWrapper__Alternatives : ( ( ruleFret ) | ( ruleNoteName ) );
    public final void rule__NoteWrapper__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:717:1: ( ( ruleFret ) | ( ruleNoteName ) )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==RULE_INT) ) {
                alt3=1;
            }
            else if ( ((LA3_0>=17 && LA3_0<=33)) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("713:1: rule__NoteWrapper__Alternatives : ( ( ruleFret ) | ( ruleNoteName ) );", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:718:1: ( ruleFret )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:718:1: ( ruleFret )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:719:1: ruleFret
                    {
                     before(grammarAccess.getNoteWrapperAccess().getFretParserRuleCall_0()); 
                    pushFollow(FOLLOW_ruleFret_in_rule__NoteWrapper__Alternatives1510);
                    ruleFret();
                    _fsp--;

                     after(grammarAccess.getNoteWrapperAccess().getFretParserRuleCall_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:724:6: ( ruleNoteName )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:724:6: ( ruleNoteName )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:725:1: ruleNoteName
                    {
                     before(grammarAccess.getNoteWrapperAccess().getNoteNameParserRuleCall_1()); 
                    pushFollow(FOLLOW_ruleNoteName_in_rule__NoteWrapper__Alternatives1527);
                    ruleNoteName();
                    _fsp--;

                     after(grammarAccess.getNoteWrapperAccess().getNoteNameParserRuleCall_1()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NoteWrapper__Alternatives


    // $ANTLR start rule__GuitarSound__Alternatives
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:735:1: rule__GuitarSound__Alternatives : ( ( ( 'Nylon' ) ) | ( ( 'Acoustic' ) ) | ( ( 'Jazz Electric' ) ) | ( ( 'Clean' ) ) | ( ( 'Overdrive' ) ) | ( ( 'Distortion' ) ) );
    public final void rule__GuitarSound__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:739:1: ( ( ( 'Nylon' ) ) | ( ( 'Acoustic' ) ) | ( ( 'Jazz Electric' ) ) | ( ( 'Clean' ) ) | ( ( 'Overdrive' ) ) | ( ( 'Distortion' ) ) )
            int alt4=6;
            switch ( input.LA(1) ) {
            case 11:
                {
                alt4=1;
                }
                break;
            case 12:
                {
                alt4=2;
                }
                break;
            case 13:
                {
                alt4=3;
                }
                break;
            case 14:
                {
                alt4=4;
                }
                break;
            case 15:
                {
                alt4=5;
                }
                break;
            case 16:
                {
                alt4=6;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("735:1: rule__GuitarSound__Alternatives : ( ( ( 'Nylon' ) ) | ( ( 'Acoustic' ) ) | ( ( 'Jazz Electric' ) ) | ( ( 'Clean' ) ) | ( ( 'Overdrive' ) ) | ( ( 'Distortion' ) ) );", 4, 0, input);

                throw nvae;
            }

            switch (alt4) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:740:1: ( ( 'Nylon' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:740:1: ( ( 'Nylon' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:741:1: ( 'Nylon' )
                    {
                     before(grammarAccess.getGuitarSoundAccess().getNYLON_ACOUSTICEnumLiteralDeclaration_0()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:742:1: ( 'Nylon' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:742:3: 'Nylon'
                    {
                    match(input,11,FOLLOW_11_in_rule__GuitarSound__Alternatives1560); 

                    }

                     after(grammarAccess.getGuitarSoundAccess().getNYLON_ACOUSTICEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:747:6: ( ( 'Acoustic' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:747:6: ( ( 'Acoustic' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:748:1: ( 'Acoustic' )
                    {
                     before(grammarAccess.getGuitarSoundAccess().getSTEEL_ACOUSTICEnumLiteralDeclaration_1()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:749:1: ( 'Acoustic' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:749:3: 'Acoustic'
                    {
                    match(input,12,FOLLOW_12_in_rule__GuitarSound__Alternatives1581); 

                    }

                     after(grammarAccess.getGuitarSoundAccess().getSTEEL_ACOUSTICEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:754:6: ( ( 'Jazz Electric' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:754:6: ( ( 'Jazz Electric' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:755:1: ( 'Jazz Electric' )
                    {
                     before(grammarAccess.getGuitarSoundAccess().getJAZZ_ELECTRICEnumLiteralDeclaration_2()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:756:1: ( 'Jazz Electric' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:756:3: 'Jazz Electric'
                    {
                    match(input,13,FOLLOW_13_in_rule__GuitarSound__Alternatives1602); 

                    }

                     after(grammarAccess.getGuitarSoundAccess().getJAZZ_ELECTRICEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:761:6: ( ( 'Clean' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:761:6: ( ( 'Clean' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:762:1: ( 'Clean' )
                    {
                     before(grammarAccess.getGuitarSoundAccess().getCLEANEnumLiteralDeclaration_3()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:763:1: ( 'Clean' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:763:3: 'Clean'
                    {
                    match(input,14,FOLLOW_14_in_rule__GuitarSound__Alternatives1623); 

                    }

                     after(grammarAccess.getGuitarSoundAccess().getCLEANEnumLiteralDeclaration_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:768:6: ( ( 'Overdrive' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:768:6: ( ( 'Overdrive' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:769:1: ( 'Overdrive' )
                    {
                     before(grammarAccess.getGuitarSoundAccess().getOVERDRIVEEnumLiteralDeclaration_4()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:770:1: ( 'Overdrive' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:770:3: 'Overdrive'
                    {
                    match(input,15,FOLLOW_15_in_rule__GuitarSound__Alternatives1644); 

                    }

                     after(grammarAccess.getGuitarSoundAccess().getOVERDRIVEEnumLiteralDeclaration_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:775:6: ( ( 'Distortion' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:775:6: ( ( 'Distortion' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:776:1: ( 'Distortion' )
                    {
                     before(grammarAccess.getGuitarSoundAccess().getDISTORTIONEnumLiteralDeclaration_5()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:777:1: ( 'Distortion' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:777:3: 'Distortion'
                    {
                    match(input,16,FOLLOW_16_in_rule__GuitarSound__Alternatives1665); 

                    }

                     after(grammarAccess.getGuitarSoundAccess().getDISTORTIONEnumLiteralDeclaration_5()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarSound__Alternatives


    // $ANTLR start rule__Notes__Alternatives
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:787:1: rule__Notes__Alternatives : ( ( ( 'C' ) ) | ( ( 'C#' ) ) | ( ( 'Db' ) ) | ( ( 'D' ) ) | ( ( 'D#' ) ) | ( ( 'Eb' ) ) | ( ( 'E' ) ) | ( ( 'F' ) ) | ( ( 'F#' ) ) | ( ( 'Gb' ) ) | ( ( 'G' ) ) | ( ( 'G#' ) ) | ( ( 'Ab' ) ) | ( ( 'A' ) ) | ( ( 'A#' ) ) | ( ( 'Bb' ) ) | ( ( 'B' ) ) );
    public final void rule__Notes__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:791:1: ( ( ( 'C' ) ) | ( ( 'C#' ) ) | ( ( 'Db' ) ) | ( ( 'D' ) ) | ( ( 'D#' ) ) | ( ( 'Eb' ) ) | ( ( 'E' ) ) | ( ( 'F' ) ) | ( ( 'F#' ) ) | ( ( 'Gb' ) ) | ( ( 'G' ) ) | ( ( 'G#' ) ) | ( ( 'Ab' ) ) | ( ( 'A' ) ) | ( ( 'A#' ) ) | ( ( 'Bb' ) ) | ( ( 'B' ) ) )
            int alt5=17;
            switch ( input.LA(1) ) {
            case 17:
                {
                alt5=1;
                }
                break;
            case 18:
                {
                alt5=2;
                }
                break;
            case 19:
                {
                alt5=3;
                }
                break;
            case 20:
                {
                alt5=4;
                }
                break;
            case 21:
                {
                alt5=5;
                }
                break;
            case 22:
                {
                alt5=6;
                }
                break;
            case 23:
                {
                alt5=7;
                }
                break;
            case 24:
                {
                alt5=8;
                }
                break;
            case 25:
                {
                alt5=9;
                }
                break;
            case 26:
                {
                alt5=10;
                }
                break;
            case 27:
                {
                alt5=11;
                }
                break;
            case 28:
                {
                alt5=12;
                }
                break;
            case 29:
                {
                alt5=13;
                }
                break;
            case 30:
                {
                alt5=14;
                }
                break;
            case 31:
                {
                alt5=15;
                }
                break;
            case 32:
                {
                alt5=16;
                }
                break;
            case 33:
                {
                alt5=17;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("787:1: rule__Notes__Alternatives : ( ( ( 'C' ) ) | ( ( 'C#' ) ) | ( ( 'Db' ) ) | ( ( 'D' ) ) | ( ( 'D#' ) ) | ( ( 'Eb' ) ) | ( ( 'E' ) ) | ( ( 'F' ) ) | ( ( 'F#' ) ) | ( ( 'Gb' ) ) | ( ( 'G' ) ) | ( ( 'G#' ) ) | ( ( 'Ab' ) ) | ( ( 'A' ) ) | ( ( 'A#' ) ) | ( ( 'Bb' ) ) | ( ( 'B' ) ) );", 5, 0, input);

                throw nvae;
            }

            switch (alt5) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:792:1: ( ( 'C' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:792:1: ( ( 'C' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:793:1: ( 'C' )
                    {
                     before(grammarAccess.getNotesAccess().getCEnumLiteralDeclaration_0()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:794:1: ( 'C' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:794:3: 'C'
                    {
                    match(input,17,FOLLOW_17_in_rule__Notes__Alternatives1701); 

                    }

                     after(grammarAccess.getNotesAccess().getCEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:799:6: ( ( 'C#' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:799:6: ( ( 'C#' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:800:1: ( 'C#' )
                    {
                     before(grammarAccess.getNotesAccess().getCisEnumLiteralDeclaration_1()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:801:1: ( 'C#' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:801:3: 'C#'
                    {
                    match(input,18,FOLLOW_18_in_rule__Notes__Alternatives1722); 

                    }

                     after(grammarAccess.getNotesAccess().getCisEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:806:6: ( ( 'Db' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:806:6: ( ( 'Db' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:807:1: ( 'Db' )
                    {
                     before(grammarAccess.getNotesAccess().getDesEnumLiteralDeclaration_2()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:808:1: ( 'Db' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:808:3: 'Db'
                    {
                    match(input,19,FOLLOW_19_in_rule__Notes__Alternatives1743); 

                    }

                     after(grammarAccess.getNotesAccess().getDesEnumLiteralDeclaration_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:813:6: ( ( 'D' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:813:6: ( ( 'D' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:814:1: ( 'D' )
                    {
                     before(grammarAccess.getNotesAccess().getDEnumLiteralDeclaration_3()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:815:1: ( 'D' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:815:3: 'D'
                    {
                    match(input,20,FOLLOW_20_in_rule__Notes__Alternatives1764); 

                    }

                     after(grammarAccess.getNotesAccess().getDEnumLiteralDeclaration_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:820:6: ( ( 'D#' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:820:6: ( ( 'D#' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:821:1: ( 'D#' )
                    {
                     before(grammarAccess.getNotesAccess().getDisEnumLiteralDeclaration_4()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:822:1: ( 'D#' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:822:3: 'D#'
                    {
                    match(input,21,FOLLOW_21_in_rule__Notes__Alternatives1785); 

                    }

                     after(grammarAccess.getNotesAccess().getDisEnumLiteralDeclaration_4()); 

                    }


                    }
                    break;
                case 6 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:827:6: ( ( 'Eb' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:827:6: ( ( 'Eb' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:828:1: ( 'Eb' )
                    {
                     before(grammarAccess.getNotesAccess().getEsEnumLiteralDeclaration_5()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:829:1: ( 'Eb' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:829:3: 'Eb'
                    {
                    match(input,22,FOLLOW_22_in_rule__Notes__Alternatives1806); 

                    }

                     after(grammarAccess.getNotesAccess().getEsEnumLiteralDeclaration_5()); 

                    }


                    }
                    break;
                case 7 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:834:6: ( ( 'E' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:834:6: ( ( 'E' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:835:1: ( 'E' )
                    {
                     before(grammarAccess.getNotesAccess().getEEnumLiteralDeclaration_6()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:836:1: ( 'E' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:836:3: 'E'
                    {
                    match(input,23,FOLLOW_23_in_rule__Notes__Alternatives1827); 

                    }

                     after(grammarAccess.getNotesAccess().getEEnumLiteralDeclaration_6()); 

                    }


                    }
                    break;
                case 8 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:841:6: ( ( 'F' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:841:6: ( ( 'F' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:842:1: ( 'F' )
                    {
                     before(grammarAccess.getNotesAccess().getFEnumLiteralDeclaration_7()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:843:1: ( 'F' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:843:3: 'F'
                    {
                    match(input,24,FOLLOW_24_in_rule__Notes__Alternatives1848); 

                    }

                     after(grammarAccess.getNotesAccess().getFEnumLiteralDeclaration_7()); 

                    }


                    }
                    break;
                case 9 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:848:6: ( ( 'F#' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:848:6: ( ( 'F#' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:849:1: ( 'F#' )
                    {
                     before(grammarAccess.getNotesAccess().getFisEnumLiteralDeclaration_8()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:850:1: ( 'F#' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:850:3: 'F#'
                    {
                    match(input,25,FOLLOW_25_in_rule__Notes__Alternatives1869); 

                    }

                     after(grammarAccess.getNotesAccess().getFisEnumLiteralDeclaration_8()); 

                    }


                    }
                    break;
                case 10 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:855:6: ( ( 'Gb' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:855:6: ( ( 'Gb' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:856:1: ( 'Gb' )
                    {
                     before(grammarAccess.getNotesAccess().getGesEnumLiteralDeclaration_9()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:857:1: ( 'Gb' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:857:3: 'Gb'
                    {
                    match(input,26,FOLLOW_26_in_rule__Notes__Alternatives1890); 

                    }

                     after(grammarAccess.getNotesAccess().getGesEnumLiteralDeclaration_9()); 

                    }


                    }
                    break;
                case 11 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:862:6: ( ( 'G' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:862:6: ( ( 'G' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:863:1: ( 'G' )
                    {
                     before(grammarAccess.getNotesAccess().getGEnumLiteralDeclaration_10()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:864:1: ( 'G' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:864:3: 'G'
                    {
                    match(input,27,FOLLOW_27_in_rule__Notes__Alternatives1911); 

                    }

                     after(grammarAccess.getNotesAccess().getGEnumLiteralDeclaration_10()); 

                    }


                    }
                    break;
                case 12 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:869:6: ( ( 'G#' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:869:6: ( ( 'G#' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:870:1: ( 'G#' )
                    {
                     before(grammarAccess.getNotesAccess().getGisEnumLiteralDeclaration_11()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:871:1: ( 'G#' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:871:3: 'G#'
                    {
                    match(input,28,FOLLOW_28_in_rule__Notes__Alternatives1932); 

                    }

                     after(grammarAccess.getNotesAccess().getGisEnumLiteralDeclaration_11()); 

                    }


                    }
                    break;
                case 13 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:876:6: ( ( 'Ab' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:876:6: ( ( 'Ab' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:877:1: ( 'Ab' )
                    {
                     before(grammarAccess.getNotesAccess().getAsEnumLiteralDeclaration_12()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:878:1: ( 'Ab' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:878:3: 'Ab'
                    {
                    match(input,29,FOLLOW_29_in_rule__Notes__Alternatives1953); 

                    }

                     after(grammarAccess.getNotesAccess().getAsEnumLiteralDeclaration_12()); 

                    }


                    }
                    break;
                case 14 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:883:6: ( ( 'A' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:883:6: ( ( 'A' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:884:1: ( 'A' )
                    {
                     before(grammarAccess.getNotesAccess().getAEnumLiteralDeclaration_13()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:885:1: ( 'A' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:885:3: 'A'
                    {
                    match(input,30,FOLLOW_30_in_rule__Notes__Alternatives1974); 

                    }

                     after(grammarAccess.getNotesAccess().getAEnumLiteralDeclaration_13()); 

                    }


                    }
                    break;
                case 15 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:890:6: ( ( 'A#' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:890:6: ( ( 'A#' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:891:1: ( 'A#' )
                    {
                     before(grammarAccess.getNotesAccess().getAisEnumLiteralDeclaration_14()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:892:1: ( 'A#' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:892:3: 'A#'
                    {
                    match(input,31,FOLLOW_31_in_rule__Notes__Alternatives1995); 

                    }

                     after(grammarAccess.getNotesAccess().getAisEnumLiteralDeclaration_14()); 

                    }


                    }
                    break;
                case 16 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:897:6: ( ( 'Bb' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:897:6: ( ( 'Bb' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:898:1: ( 'Bb' )
                    {
                     before(grammarAccess.getNotesAccess().getBbEnumLiteralDeclaration_15()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:899:1: ( 'Bb' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:899:3: 'Bb'
                    {
                    match(input,32,FOLLOW_32_in_rule__Notes__Alternatives2016); 

                    }

                     after(grammarAccess.getNotesAccess().getBbEnumLiteralDeclaration_15()); 

                    }


                    }
                    break;
                case 17 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:904:6: ( ( 'B' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:904:6: ( ( 'B' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:905:1: ( 'B' )
                    {
                     before(grammarAccess.getNotesAccess().getBEnumLiteralDeclaration_16()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:906:1: ( 'B' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:906:3: 'B'
                    {
                    match(input,33,FOLLOW_33_in_rule__Notes__Alternatives2037); 

                    }

                     after(grammarAccess.getNotesAccess().getBEnumLiteralDeclaration_16()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Notes__Alternatives


    // $ANTLR start rule__NoteValues__Alternatives
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:916:1: rule__NoteValues__Alternatives : ( ( ( 'w' ) ) | ( ( 'h' ) ) | ( ( 'q' ) ) | ( ( 'e' ) ) | ( ( 's' ) ) );
    public final void rule__NoteValues__Alternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:920:1: ( ( ( 'w' ) ) | ( ( 'h' ) ) | ( ( 'q' ) ) | ( ( 'e' ) ) | ( ( 's' ) ) )
            int alt6=5;
            switch ( input.LA(1) ) {
            case 34:
                {
                alt6=1;
                }
                break;
            case 35:
                {
                alt6=2;
                }
                break;
            case 36:
                {
                alt6=3;
                }
                break;
            case 37:
                {
                alt6=4;
                }
                break;
            case 38:
                {
                alt6=5;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("916:1: rule__NoteValues__Alternatives : ( ( ( 'w' ) ) | ( ( 'h' ) ) | ( ( 'q' ) ) | ( ( 'e' ) ) | ( ( 's' ) ) );", 6, 0, input);

                throw nvae;
            }

            switch (alt6) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:921:1: ( ( 'w' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:921:1: ( ( 'w' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:922:1: ( 'w' )
                    {
                     before(grammarAccess.getNoteValuesAccess().getWHOLEEnumLiteralDeclaration_0()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:923:1: ( 'w' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:923:3: 'w'
                    {
                    match(input,34,FOLLOW_34_in_rule__NoteValues__Alternatives2073); 

                    }

                     after(grammarAccess.getNoteValuesAccess().getWHOLEEnumLiteralDeclaration_0()); 

                    }


                    }
                    break;
                case 2 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:928:6: ( ( 'h' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:928:6: ( ( 'h' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:929:1: ( 'h' )
                    {
                     before(grammarAccess.getNoteValuesAccess().getHALFEnumLiteralDeclaration_1()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:930:1: ( 'h' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:930:3: 'h'
                    {
                    match(input,35,FOLLOW_35_in_rule__NoteValues__Alternatives2094); 

                    }

                     after(grammarAccess.getNoteValuesAccess().getHALFEnumLiteralDeclaration_1()); 

                    }


                    }
                    break;
                case 3 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:935:6: ( ( 'q' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:935:6: ( ( 'q' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:936:1: ( 'q' )
                    {
                     before(grammarAccess.getNoteValuesAccess().getQUARTEREnumLiteralDeclaration_2()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:937:1: ( 'q' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:937:3: 'q'
                    {
                    match(input,36,FOLLOW_36_in_rule__NoteValues__Alternatives2115); 

                    }

                     after(grammarAccess.getNoteValuesAccess().getQUARTEREnumLiteralDeclaration_2()); 

                    }


                    }
                    break;
                case 4 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:942:6: ( ( 'e' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:942:6: ( ( 'e' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:943:1: ( 'e' )
                    {
                     before(grammarAccess.getNoteValuesAccess().getEIGHTHEnumLiteralDeclaration_3()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:944:1: ( 'e' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:944:3: 'e'
                    {
                    match(input,37,FOLLOW_37_in_rule__NoteValues__Alternatives2136); 

                    }

                     after(grammarAccess.getNoteValuesAccess().getEIGHTHEnumLiteralDeclaration_3()); 

                    }


                    }
                    break;
                case 5 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:949:6: ( ( 's' ) )
                    {
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:949:6: ( ( 's' ) )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:950:1: ( 's' )
                    {
                     before(grammarAccess.getNoteValuesAccess().getSIXTEENTHEnumLiteralDeclaration_4()); 
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:951:1: ( 's' )
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:951:3: 's'
                    {
                    match(input,38,FOLLOW_38_in_rule__NoteValues__Alternatives2157); 

                    }

                     after(grammarAccess.getNoteValuesAccess().getSIXTEENTHEnumLiteralDeclaration_4()); 

                    }


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NoteValues__Alternatives


    // $ANTLR start rule__TabModel__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:963:1: rule__TabModel__Group__0 : ( ( rule__TabModel__ImportsAssignment_0 )* ) rule__TabModel__Group__1 ;
    public final void rule__TabModel__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:967:1: ( ( ( rule__TabModel__ImportsAssignment_0 )* ) rule__TabModel__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:968:1: ( ( rule__TabModel__ImportsAssignment_0 )* ) rule__TabModel__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:968:1: ( ( rule__TabModel__ImportsAssignment_0 )* )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:969:1: ( rule__TabModel__ImportsAssignment_0 )*
            {
             before(grammarAccess.getTabModelAccess().getImportsAssignment_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:970:1: ( rule__TabModel__ImportsAssignment_0 )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0==39) ) {
                    alt7=1;
                }


                switch (alt7) {
            	case 1 :
            	    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:970:2: rule__TabModel__ImportsAssignment_0
            	    {
            	    pushFollow(FOLLOW_rule__TabModel__ImportsAssignment_0_in_rule__TabModel__Group__02194);
            	    rule__TabModel__ImportsAssignment_0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop7;
                }
            } while (true);

             after(grammarAccess.getTabModelAccess().getImportsAssignment_0()); 

            }

            pushFollow(FOLLOW_rule__TabModel__Group__1_in_rule__TabModel__Group__02204);
            rule__TabModel__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TabModel__Group__0


    // $ANTLR start rule__TabModel__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:981:1: rule__TabModel__Group__1 : ( ( rule__TabModel__TuningAssignment_1 ) ) rule__TabModel__Group__2 ;
    public final void rule__TabModel__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:985:1: ( ( ( rule__TabModel__TuningAssignment_1 ) ) rule__TabModel__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:986:1: ( ( rule__TabModel__TuningAssignment_1 ) ) rule__TabModel__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:986:1: ( ( rule__TabModel__TuningAssignment_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:987:1: ( rule__TabModel__TuningAssignment_1 )
            {
             before(grammarAccess.getTabModelAccess().getTuningAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:988:1: ( rule__TabModel__TuningAssignment_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:988:2: rule__TabModel__TuningAssignment_1
            {
            pushFollow(FOLLOW_rule__TabModel__TuningAssignment_1_in_rule__TabModel__Group__12232);
            rule__TabModel__TuningAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getTabModelAccess().getTuningAssignment_1()); 

            }

            pushFollow(FOLLOW_rule__TabModel__Group__2_in_rule__TabModel__Group__12241);
            rule__TabModel__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TabModel__Group__1


    // $ANTLR start rule__TabModel__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:999:1: rule__TabModel__Group__2 : ( ( rule__TabModel__ChordLibraryAssignment_2 )* ) rule__TabModel__Group__3 ;
    public final void rule__TabModel__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1003:1: ( ( ( rule__TabModel__ChordLibraryAssignment_2 )* ) rule__TabModel__Group__3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1004:1: ( ( rule__TabModel__ChordLibraryAssignment_2 )* ) rule__TabModel__Group__3
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1004:1: ( ( rule__TabModel__ChordLibraryAssignment_2 )* )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1005:1: ( rule__TabModel__ChordLibraryAssignment_2 )*
            {
             before(grammarAccess.getTabModelAccess().getChordLibraryAssignment_2()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1006:1: ( rule__TabModel__ChordLibraryAssignment_2 )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( (LA8_0==45) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1006:2: rule__TabModel__ChordLibraryAssignment_2
            	    {
            	    pushFollow(FOLLOW_rule__TabModel__ChordLibraryAssignment_2_in_rule__TabModel__Group__22269);
            	    rule__TabModel__ChordLibraryAssignment_2();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);

             after(grammarAccess.getTabModelAccess().getChordLibraryAssignment_2()); 

            }

            pushFollow(FOLLOW_rule__TabModel__Group__3_in_rule__TabModel__Group__22279);
            rule__TabModel__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TabModel__Group__2


    // $ANTLR start rule__TabModel__Group__3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1017:1: rule__TabModel__Group__3 : ( ( rule__TabModel__TabAssignment_3 )? ) ;
    public final void rule__TabModel__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1021:1: ( ( ( rule__TabModel__TabAssignment_3 )? ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1022:1: ( ( rule__TabModel__TabAssignment_3 )? )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1022:1: ( ( rule__TabModel__TabAssignment_3 )? )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1023:1: ( rule__TabModel__TabAssignment_3 )?
            {
             before(grammarAccess.getTabModelAccess().getTabAssignment_3()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1024:1: ( rule__TabModel__TabAssignment_3 )?
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==47) ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1024:2: rule__TabModel__TabAssignment_3
                    {
                    pushFollow(FOLLOW_rule__TabModel__TabAssignment_3_in_rule__TabModel__Group__32307);
                    rule__TabModel__TabAssignment_3();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getTabModelAccess().getTabAssignment_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TabModel__Group__3


    // $ANTLR start rule__Import__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1042:1: rule__Import__Group__0 : ( 'import ' ) rule__Import__Group__1 ;
    public final void rule__Import__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1046:1: ( ( 'import ' ) rule__Import__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1047:1: ( 'import ' ) rule__Import__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1047:1: ( 'import ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1048:1: 'import '
            {
             before(grammarAccess.getImportAccess().getImportKeyword_0()); 
            match(input,39,FOLLOW_39_in_rule__Import__Group__02351); 
             after(grammarAccess.getImportAccess().getImportKeyword_0()); 

            }

            pushFollow(FOLLOW_rule__Import__Group__1_in_rule__Import__Group__02361);
            rule__Import__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__Group__0


    // $ANTLR start rule__Import__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1062:1: rule__Import__Group__1 : ( ( rule__Import__ImportURIAssignment_1 ) ) ;
    public final void rule__Import__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1066:1: ( ( ( rule__Import__ImportURIAssignment_1 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1067:1: ( ( rule__Import__ImportURIAssignment_1 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1067:1: ( ( rule__Import__ImportURIAssignment_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1068:1: ( rule__Import__ImportURIAssignment_1 )
            {
             before(grammarAccess.getImportAccess().getImportURIAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1069:1: ( rule__Import__ImportURIAssignment_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1069:2: rule__Import__ImportURIAssignment_1
            {
            pushFollow(FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__12389);
            rule__Import__ImportURIAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getImportAccess().getImportURIAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__Group__1


    // $ANTLR start rule__Tuning__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1083:1: rule__Tuning__Group__0 : ( 'tuning: ' ) rule__Tuning__Group__1 ;
    public final void rule__Tuning__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1087:1: ( ( 'tuning: ' ) rule__Tuning__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1088:1: ( 'tuning: ' ) rule__Tuning__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1088:1: ( 'tuning: ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1089:1: 'tuning: '
            {
             before(grammarAccess.getTuningAccess().getTuningKeyword_0()); 
            match(input,40,FOLLOW_40_in_rule__Tuning__Group__02428); 
             after(grammarAccess.getTuningAccess().getTuningKeyword_0()); 

            }

            pushFollow(FOLLOW_rule__Tuning__Group__1_in_rule__Tuning__Group__02438);
            rule__Tuning__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tuning__Group__0


    // $ANTLR start rule__Tuning__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1103:1: rule__Tuning__Group__1 : ( ( rule__Tuning__NameAssignment_1 ) ) rule__Tuning__Group__2 ;
    public final void rule__Tuning__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1107:1: ( ( ( rule__Tuning__NameAssignment_1 ) ) rule__Tuning__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1108:1: ( ( rule__Tuning__NameAssignment_1 ) ) rule__Tuning__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1108:1: ( ( rule__Tuning__NameAssignment_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1109:1: ( rule__Tuning__NameAssignment_1 )
            {
             before(grammarAccess.getTuningAccess().getNameAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1110:1: ( rule__Tuning__NameAssignment_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1110:2: rule__Tuning__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__Tuning__NameAssignment_1_in_rule__Tuning__Group__12466);
            rule__Tuning__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getTuningAccess().getNameAssignment_1()); 

            }

            pushFollow(FOLLOW_rule__Tuning__Group__2_in_rule__Tuning__Group__12475);
            rule__Tuning__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tuning__Group__1


    // $ANTLR start rule__Tuning__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1121:1: rule__Tuning__Group__2 : ( ' frets ' ) rule__Tuning__Group__3 ;
    public final void rule__Tuning__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1125:1: ( ( ' frets ' ) rule__Tuning__Group__3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1126:1: ( ' frets ' ) rule__Tuning__Group__3
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1126:1: ( ' frets ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1127:1: ' frets '
            {
             before(grammarAccess.getTuningAccess().getFretsKeyword_2()); 
            match(input,41,FOLLOW_41_in_rule__Tuning__Group__22504); 
             after(grammarAccess.getTuningAccess().getFretsKeyword_2()); 

            }

            pushFollow(FOLLOW_rule__Tuning__Group__3_in_rule__Tuning__Group__22514);
            rule__Tuning__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tuning__Group__2


    // $ANTLR start rule__Tuning__Group__3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1141:1: rule__Tuning__Group__3 : ( ( rule__Tuning__FretsAssignment_3 ) ) rule__Tuning__Group__4 ;
    public final void rule__Tuning__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1145:1: ( ( ( rule__Tuning__FretsAssignment_3 ) ) rule__Tuning__Group__4 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1146:1: ( ( rule__Tuning__FretsAssignment_3 ) ) rule__Tuning__Group__4
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1146:1: ( ( rule__Tuning__FretsAssignment_3 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1147:1: ( rule__Tuning__FretsAssignment_3 )
            {
             before(grammarAccess.getTuningAccess().getFretsAssignment_3()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1148:1: ( rule__Tuning__FretsAssignment_3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1148:2: rule__Tuning__FretsAssignment_3
            {
            pushFollow(FOLLOW_rule__Tuning__FretsAssignment_3_in_rule__Tuning__Group__32542);
            rule__Tuning__FretsAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getTuningAccess().getFretsAssignment_3()); 

            }

            pushFollow(FOLLOW_rule__Tuning__Group__4_in_rule__Tuning__Group__32551);
            rule__Tuning__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tuning__Group__3


    // $ANTLR start rule__Tuning__Group__4
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1159:1: rule__Tuning__Group__4 : ( ( rule__Tuning__StringsAssignment_4 )* ) ;
    public final void rule__Tuning__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1163:1: ( ( ( rule__Tuning__StringsAssignment_4 )* ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1164:1: ( ( rule__Tuning__StringsAssignment_4 )* )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1164:1: ( ( rule__Tuning__StringsAssignment_4 )* )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1165:1: ( rule__Tuning__StringsAssignment_4 )*
            {
             before(grammarAccess.getTuningAccess().getStringsAssignment_4()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1166:1: ( rule__Tuning__StringsAssignment_4 )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0==42) ) {
                    alt10=1;
                }


                switch (alt10) {
            	case 1 :
            	    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1166:2: rule__Tuning__StringsAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Tuning__StringsAssignment_4_in_rule__Tuning__Group__42579);
            	    rule__Tuning__StringsAssignment_4();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);

             after(grammarAccess.getTuningAccess().getStringsAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tuning__Group__4


    // $ANTLR start rule__GuitarStr__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1186:1: rule__GuitarStr__Group__0 : ( 'tune string ' ) rule__GuitarStr__Group__1 ;
    public final void rule__GuitarStr__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1190:1: ( ( 'tune string ' ) rule__GuitarStr__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1191:1: ( 'tune string ' ) rule__GuitarStr__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1191:1: ( 'tune string ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1192:1: 'tune string '
            {
             before(grammarAccess.getGuitarStrAccess().getTuneStringKeyword_0()); 
            match(input,42,FOLLOW_42_in_rule__GuitarStr__Group__02625); 
             after(grammarAccess.getGuitarStrAccess().getTuneStringKeyword_0()); 

            }

            pushFollow(FOLLOW_rule__GuitarStr__Group__1_in_rule__GuitarStr__Group__02635);
            rule__GuitarStr__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__Group__0


    // $ANTLR start rule__GuitarStr__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1206:1: rule__GuitarStr__Group__1 : ( ( rule__GuitarStr__NameAssignment_1 ) ) rule__GuitarStr__Group__2 ;
    public final void rule__GuitarStr__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1210:1: ( ( ( rule__GuitarStr__NameAssignment_1 ) ) rule__GuitarStr__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1211:1: ( ( rule__GuitarStr__NameAssignment_1 ) ) rule__GuitarStr__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1211:1: ( ( rule__GuitarStr__NameAssignment_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1212:1: ( rule__GuitarStr__NameAssignment_1 )
            {
             before(grammarAccess.getGuitarStrAccess().getNameAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1213:1: ( rule__GuitarStr__NameAssignment_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1213:2: rule__GuitarStr__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__GuitarStr__NameAssignment_1_in_rule__GuitarStr__Group__12663);
            rule__GuitarStr__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getGuitarStrAccess().getNameAssignment_1()); 

            }

            pushFollow(FOLLOW_rule__GuitarStr__Group__2_in_rule__GuitarStr__Group__12672);
            rule__GuitarStr__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__Group__1


    // $ANTLR start rule__GuitarStr__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1224:1: rule__GuitarStr__Group__2 : ( ' to ' ) rule__GuitarStr__Group__3 ;
    public final void rule__GuitarStr__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1228:1: ( ( ' to ' ) rule__GuitarStr__Group__3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1229:1: ( ' to ' ) rule__GuitarStr__Group__3
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1229:1: ( ' to ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1230:1: ' to '
            {
             before(grammarAccess.getGuitarStrAccess().getToKeyword_2()); 
            match(input,43,FOLLOW_43_in_rule__GuitarStr__Group__22701); 
             after(grammarAccess.getGuitarStrAccess().getToKeyword_2()); 

            }

            pushFollow(FOLLOW_rule__GuitarStr__Group__3_in_rule__GuitarStr__Group__22711);
            rule__GuitarStr__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__Group__2


    // $ANTLR start rule__GuitarStr__Group__3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1244:1: rule__GuitarStr__Group__3 : ( ( rule__GuitarStr__NoteAssignment_3 ) ) rule__GuitarStr__Group__4 ;
    public final void rule__GuitarStr__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1248:1: ( ( ( rule__GuitarStr__NoteAssignment_3 ) ) rule__GuitarStr__Group__4 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1249:1: ( ( rule__GuitarStr__NoteAssignment_3 ) ) rule__GuitarStr__Group__4
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1249:1: ( ( rule__GuitarStr__NoteAssignment_3 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1250:1: ( rule__GuitarStr__NoteAssignment_3 )
            {
             before(grammarAccess.getGuitarStrAccess().getNoteAssignment_3()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1251:1: ( rule__GuitarStr__NoteAssignment_3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1251:2: rule__GuitarStr__NoteAssignment_3
            {
            pushFollow(FOLLOW_rule__GuitarStr__NoteAssignment_3_in_rule__GuitarStr__Group__32739);
            rule__GuitarStr__NoteAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getGuitarStrAccess().getNoteAssignment_3()); 

            }

            pushFollow(FOLLOW_rule__GuitarStr__Group__4_in_rule__GuitarStr__Group__32748);
            rule__GuitarStr__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__Group__3


    // $ANTLR start rule__GuitarStr__Group__4
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1262:1: rule__GuitarStr__Group__4 : ( ' midi ' ) rule__GuitarStr__Group__5 ;
    public final void rule__GuitarStr__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1266:1: ( ( ' midi ' ) rule__GuitarStr__Group__5 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1267:1: ( ' midi ' ) rule__GuitarStr__Group__5
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1267:1: ( ' midi ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1268:1: ' midi '
            {
             before(grammarAccess.getGuitarStrAccess().getMidiKeyword_4()); 
            match(input,44,FOLLOW_44_in_rule__GuitarStr__Group__42777); 
             after(grammarAccess.getGuitarStrAccess().getMidiKeyword_4()); 

            }

            pushFollow(FOLLOW_rule__GuitarStr__Group__5_in_rule__GuitarStr__Group__42787);
            rule__GuitarStr__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__Group__4


    // $ANTLR start rule__GuitarStr__Group__5
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1282:1: rule__GuitarStr__Group__5 : ( ( rule__GuitarStr__MidiAssignment_5 ) ) ;
    public final void rule__GuitarStr__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1286:1: ( ( ( rule__GuitarStr__MidiAssignment_5 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1287:1: ( ( rule__GuitarStr__MidiAssignment_5 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1287:1: ( ( rule__GuitarStr__MidiAssignment_5 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1288:1: ( rule__GuitarStr__MidiAssignment_5 )
            {
             before(grammarAccess.getGuitarStrAccess().getMidiAssignment_5()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1289:1: ( rule__GuitarStr__MidiAssignment_5 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1289:2: rule__GuitarStr__MidiAssignment_5
            {
            pushFollow(FOLLOW_rule__GuitarStr__MidiAssignment_5_in_rule__GuitarStr__Group__52815);
            rule__GuitarStr__MidiAssignment_5();
            _fsp--;


            }

             after(grammarAccess.getGuitarStrAccess().getMidiAssignment_5()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__Group__5


    // $ANTLR start rule__ChordLibrary__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1311:1: rule__ChordLibrary__Group__0 : ( 'chord library: ' ) rule__ChordLibrary__Group__1 ;
    public final void rule__ChordLibrary__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1315:1: ( ( 'chord library: ' ) rule__ChordLibrary__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1316:1: ( 'chord library: ' ) rule__ChordLibrary__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1316:1: ( 'chord library: ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1317:1: 'chord library: '
            {
             before(grammarAccess.getChordLibraryAccess().getChordLibraryKeyword_0()); 
            match(input,45,FOLLOW_45_in_rule__ChordLibrary__Group__02862); 
             after(grammarAccess.getChordLibraryAccess().getChordLibraryKeyword_0()); 

            }

            pushFollow(FOLLOW_rule__ChordLibrary__Group__1_in_rule__ChordLibrary__Group__02872);
            rule__ChordLibrary__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordLibrary__Group__0


    // $ANTLR start rule__ChordLibrary__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1331:1: rule__ChordLibrary__Group__1 : ( ( rule__ChordLibrary__NameAssignment_1 ) ) rule__ChordLibrary__Group__2 ;
    public final void rule__ChordLibrary__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1335:1: ( ( ( rule__ChordLibrary__NameAssignment_1 ) ) rule__ChordLibrary__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1336:1: ( ( rule__ChordLibrary__NameAssignment_1 ) ) rule__ChordLibrary__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1336:1: ( ( rule__ChordLibrary__NameAssignment_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1337:1: ( rule__ChordLibrary__NameAssignment_1 )
            {
             before(grammarAccess.getChordLibraryAccess().getNameAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1338:1: ( rule__ChordLibrary__NameAssignment_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1338:2: rule__ChordLibrary__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__ChordLibrary__NameAssignment_1_in_rule__ChordLibrary__Group__12900);
            rule__ChordLibrary__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getChordLibraryAccess().getNameAssignment_1()); 

            }

            pushFollow(FOLLOW_rule__ChordLibrary__Group__2_in_rule__ChordLibrary__Group__12909);
            rule__ChordLibrary__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordLibrary__Group__1


    // $ANTLR start rule__ChordLibrary__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1349:1: rule__ChordLibrary__Group__2 : ( ( rule__ChordLibrary__ChordsAssignment_2 )* ) ;
    public final void rule__ChordLibrary__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1353:1: ( ( ( rule__ChordLibrary__ChordsAssignment_2 )* ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1354:1: ( ( rule__ChordLibrary__ChordsAssignment_2 )* )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1354:1: ( ( rule__ChordLibrary__ChordsAssignment_2 )* )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1355:1: ( rule__ChordLibrary__ChordsAssignment_2 )*
            {
             before(grammarAccess.getChordLibraryAccess().getChordsAssignment_2()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1356:1: ( rule__ChordLibrary__ChordsAssignment_2 )*
            loop11:
            do {
                int alt11=2;
                int LA11_0 = input.LA(1);

                if ( (LA11_0==46) ) {
                    alt11=1;
                }


                switch (alt11) {
            	case 1 :
            	    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1356:2: rule__ChordLibrary__ChordsAssignment_2
            	    {
            	    pushFollow(FOLLOW_rule__ChordLibrary__ChordsAssignment_2_in_rule__ChordLibrary__Group__22937);
            	    rule__ChordLibrary__ChordsAssignment_2();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop11;
                }
            } while (true);

             after(grammarAccess.getChordLibraryAccess().getChordsAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordLibrary__Group__2


    // $ANTLR start rule__ChordDefinition__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1372:1: rule__ChordDefinition__Group__0 : ( 'chord ' ) rule__ChordDefinition__Group__1 ;
    public final void rule__ChordDefinition__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1376:1: ( ( 'chord ' ) rule__ChordDefinition__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1377:1: ( 'chord ' ) rule__ChordDefinition__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1377:1: ( 'chord ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1378:1: 'chord '
            {
             before(grammarAccess.getChordDefinitionAccess().getChordKeyword_0()); 
            match(input,46,FOLLOW_46_in_rule__ChordDefinition__Group__02979); 
             after(grammarAccess.getChordDefinitionAccess().getChordKeyword_0()); 

            }

            pushFollow(FOLLOW_rule__ChordDefinition__Group__1_in_rule__ChordDefinition__Group__02989);
            rule__ChordDefinition__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordDefinition__Group__0


    // $ANTLR start rule__ChordDefinition__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1392:1: rule__ChordDefinition__Group__1 : ( ( rule__ChordDefinition__NameAssignment_1 ) ) rule__ChordDefinition__Group__2 ;
    public final void rule__ChordDefinition__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1396:1: ( ( ( rule__ChordDefinition__NameAssignment_1 ) ) rule__ChordDefinition__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1397:1: ( ( rule__ChordDefinition__NameAssignment_1 ) ) rule__ChordDefinition__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1397:1: ( ( rule__ChordDefinition__NameAssignment_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1398:1: ( rule__ChordDefinition__NameAssignment_1 )
            {
             before(grammarAccess.getChordDefinitionAccess().getNameAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1399:1: ( rule__ChordDefinition__NameAssignment_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1399:2: rule__ChordDefinition__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__ChordDefinition__NameAssignment_1_in_rule__ChordDefinition__Group__13017);
            rule__ChordDefinition__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getChordDefinitionAccess().getNameAssignment_1()); 

            }

            pushFollow(FOLLOW_rule__ChordDefinition__Group__2_in_rule__ChordDefinition__Group__13026);
            rule__ChordDefinition__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordDefinition__Group__1


    // $ANTLR start rule__ChordDefinition__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1410:1: rule__ChordDefinition__Group__2 : ( ( rule__ChordDefinition__NotesAssignment_2 )* ) ;
    public final void rule__ChordDefinition__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1414:1: ( ( ( rule__ChordDefinition__NotesAssignment_2 )* ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1415:1: ( ( rule__ChordDefinition__NotesAssignment_2 )* )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1415:1: ( ( rule__ChordDefinition__NotesAssignment_2 )* )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1416:1: ( rule__ChordDefinition__NotesAssignment_2 )*
            {
             before(grammarAccess.getChordDefinitionAccess().getNotesAssignment_2()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1417:1: ( rule__ChordDefinition__NotesAssignment_2 )*
            loop12:
            do {
                int alt12=2;
                int LA12_0 = input.LA(1);

                if ( (LA12_0==RULE_INT||(LA12_0>=17 && LA12_0<=33)) ) {
                    alt12=1;
                }


                switch (alt12) {
            	case 1 :
            	    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1417:2: rule__ChordDefinition__NotesAssignment_2
            	    {
            	    pushFollow(FOLLOW_rule__ChordDefinition__NotesAssignment_2_in_rule__ChordDefinition__Group__23054);
            	    rule__ChordDefinition__NotesAssignment_2();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop12;
                }
            } while (true);

             after(grammarAccess.getChordDefinitionAccess().getNotesAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordDefinition__Group__2


    // $ANTLR start rule__Tab__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1433:1: rule__Tab__Group__0 : ( 'tab: ' ) rule__Tab__Group__1 ;
    public final void rule__Tab__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1437:1: ( ( 'tab: ' ) rule__Tab__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1438:1: ( 'tab: ' ) rule__Tab__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1438:1: ( 'tab: ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1439:1: 'tab: '
            {
             before(grammarAccess.getTabAccess().getTabKeyword_0()); 
            match(input,47,FOLLOW_47_in_rule__Tab__Group__03096); 
             after(grammarAccess.getTabAccess().getTabKeyword_0()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__1_in_rule__Tab__Group__03106);
            rule__Tab__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__0


    // $ANTLR start rule__Tab__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1453:1: rule__Tab__Group__1 : ( 'name ' ) rule__Tab__Group__2 ;
    public final void rule__Tab__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1457:1: ( ( 'name ' ) rule__Tab__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1458:1: ( 'name ' ) rule__Tab__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1458:1: ( 'name ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1459:1: 'name '
            {
             before(grammarAccess.getTabAccess().getNameKeyword_1()); 
            match(input,48,FOLLOW_48_in_rule__Tab__Group__13135); 
             after(grammarAccess.getTabAccess().getNameKeyword_1()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__2_in_rule__Tab__Group__13145);
            rule__Tab__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__1


    // $ANTLR start rule__Tab__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1473:1: rule__Tab__Group__2 : ( ( rule__Tab__NameAssignment_2 ) ) rule__Tab__Group__3 ;
    public final void rule__Tab__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1477:1: ( ( ( rule__Tab__NameAssignment_2 ) ) rule__Tab__Group__3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1478:1: ( ( rule__Tab__NameAssignment_2 ) ) rule__Tab__Group__3
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1478:1: ( ( rule__Tab__NameAssignment_2 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1479:1: ( rule__Tab__NameAssignment_2 )
            {
             before(grammarAccess.getTabAccess().getNameAssignment_2()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1480:1: ( rule__Tab__NameAssignment_2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1480:2: rule__Tab__NameAssignment_2
            {
            pushFollow(FOLLOW_rule__Tab__NameAssignment_2_in_rule__Tab__Group__23173);
            rule__Tab__NameAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getTabAccess().getNameAssignment_2()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__3_in_rule__Tab__Group__23182);
            rule__Tab__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__2


    // $ANTLR start rule__Tab__Group__3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1491:1: rule__Tab__Group__3 : ( ' by ' ) rule__Tab__Group__4 ;
    public final void rule__Tab__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1495:1: ( ( ' by ' ) rule__Tab__Group__4 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1496:1: ( ' by ' ) rule__Tab__Group__4
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1496:1: ( ' by ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1497:1: ' by '
            {
             before(grammarAccess.getTabAccess().getByKeyword_3()); 
            match(input,49,FOLLOW_49_in_rule__Tab__Group__33211); 
             after(grammarAccess.getTabAccess().getByKeyword_3()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__4_in_rule__Tab__Group__33221);
            rule__Tab__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__3


    // $ANTLR start rule__Tab__Group__4
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1511:1: rule__Tab__Group__4 : ( ( rule__Tab__AuthorAssignment_4 ) ) rule__Tab__Group__5 ;
    public final void rule__Tab__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1515:1: ( ( ( rule__Tab__AuthorAssignment_4 ) ) rule__Tab__Group__5 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1516:1: ( ( rule__Tab__AuthorAssignment_4 ) ) rule__Tab__Group__5
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1516:1: ( ( rule__Tab__AuthorAssignment_4 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1517:1: ( rule__Tab__AuthorAssignment_4 )
            {
             before(grammarAccess.getTabAccess().getAuthorAssignment_4()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1518:1: ( rule__Tab__AuthorAssignment_4 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1518:2: rule__Tab__AuthorAssignment_4
            {
            pushFollow(FOLLOW_rule__Tab__AuthorAssignment_4_in_rule__Tab__Group__43249);
            rule__Tab__AuthorAssignment_4();
            _fsp--;


            }

             after(grammarAccess.getTabAccess().getAuthorAssignment_4()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__5_in_rule__Tab__Group__43258);
            rule__Tab__Group__5();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__4


    // $ANTLR start rule__Tab__Group__5
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1529:1: rule__Tab__Group__5 : ( ' tempo ' ) rule__Tab__Group__6 ;
    public final void rule__Tab__Group__5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1533:1: ( ( ' tempo ' ) rule__Tab__Group__6 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1534:1: ( ' tempo ' ) rule__Tab__Group__6
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1534:1: ( ' tempo ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1535:1: ' tempo '
            {
             before(grammarAccess.getTabAccess().getTempoKeyword_5()); 
            match(input,50,FOLLOW_50_in_rule__Tab__Group__53287); 
             after(grammarAccess.getTabAccess().getTempoKeyword_5()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__6_in_rule__Tab__Group__53297);
            rule__Tab__Group__6();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__5


    // $ANTLR start rule__Tab__Group__6
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1549:1: rule__Tab__Group__6 : ( ( rule__Tab__TempoAssignment_6 ) ) rule__Tab__Group__7 ;
    public final void rule__Tab__Group__6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1553:1: ( ( ( rule__Tab__TempoAssignment_6 ) ) rule__Tab__Group__7 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1554:1: ( ( rule__Tab__TempoAssignment_6 ) ) rule__Tab__Group__7
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1554:1: ( ( rule__Tab__TempoAssignment_6 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1555:1: ( rule__Tab__TempoAssignment_6 )
            {
             before(grammarAccess.getTabAccess().getTempoAssignment_6()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1556:1: ( rule__Tab__TempoAssignment_6 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1556:2: rule__Tab__TempoAssignment_6
            {
            pushFollow(FOLLOW_rule__Tab__TempoAssignment_6_in_rule__Tab__Group__63325);
            rule__Tab__TempoAssignment_6();
            _fsp--;


            }

             after(grammarAccess.getTabAccess().getTempoAssignment_6()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__7_in_rule__Tab__Group__63334);
            rule__Tab__Group__7();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__6


    // $ANTLR start rule__Tab__Group__7
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1567:1: rule__Tab__Group__7 : ( ' tact ' ) rule__Tab__Group__8 ;
    public final void rule__Tab__Group__7() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1571:1: ( ( ' tact ' ) rule__Tab__Group__8 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1572:1: ( ' tact ' ) rule__Tab__Group__8
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1572:1: ( ' tact ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1573:1: ' tact '
            {
             before(grammarAccess.getTabAccess().getTactKeyword_7()); 
            match(input,51,FOLLOW_51_in_rule__Tab__Group__73363); 
             after(grammarAccess.getTabAccess().getTactKeyword_7()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__8_in_rule__Tab__Group__73373);
            rule__Tab__Group__8();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__7


    // $ANTLR start rule__Tab__Group__8
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1587:1: rule__Tab__Group__8 : ( ( rule__Tab__NumAssignment_8 ) ) rule__Tab__Group__9 ;
    public final void rule__Tab__Group__8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1591:1: ( ( ( rule__Tab__NumAssignment_8 ) ) rule__Tab__Group__9 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1592:1: ( ( rule__Tab__NumAssignment_8 ) ) rule__Tab__Group__9
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1592:1: ( ( rule__Tab__NumAssignment_8 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1593:1: ( rule__Tab__NumAssignment_8 )
            {
             before(grammarAccess.getTabAccess().getNumAssignment_8()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1594:1: ( rule__Tab__NumAssignment_8 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1594:2: rule__Tab__NumAssignment_8
            {
            pushFollow(FOLLOW_rule__Tab__NumAssignment_8_in_rule__Tab__Group__83401);
            rule__Tab__NumAssignment_8();
            _fsp--;


            }

             after(grammarAccess.getTabAccess().getNumAssignment_8()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__9_in_rule__Tab__Group__83410);
            rule__Tab__Group__9();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__8


    // $ANTLR start rule__Tab__Group__9
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1605:1: rule__Tab__Group__9 : ( '/' ) rule__Tab__Group__10 ;
    public final void rule__Tab__Group__9() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1609:1: ( ( '/' ) rule__Tab__Group__10 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1610:1: ( '/' ) rule__Tab__Group__10
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1610:1: ( '/' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1611:1: '/'
            {
             before(grammarAccess.getTabAccess().getSolidusKeyword_9()); 
            match(input,52,FOLLOW_52_in_rule__Tab__Group__93439); 
             after(grammarAccess.getTabAccess().getSolidusKeyword_9()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__10_in_rule__Tab__Group__93449);
            rule__Tab__Group__10();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__9


    // $ANTLR start rule__Tab__Group__10
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1625:1: rule__Tab__Group__10 : ( ( rule__Tab__DenomAssignment_10 ) ) rule__Tab__Group__11 ;
    public final void rule__Tab__Group__10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1629:1: ( ( ( rule__Tab__DenomAssignment_10 ) ) rule__Tab__Group__11 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1630:1: ( ( rule__Tab__DenomAssignment_10 ) ) rule__Tab__Group__11
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1630:1: ( ( rule__Tab__DenomAssignment_10 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1631:1: ( rule__Tab__DenomAssignment_10 )
            {
             before(grammarAccess.getTabAccess().getDenomAssignment_10()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1632:1: ( rule__Tab__DenomAssignment_10 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1632:2: rule__Tab__DenomAssignment_10
            {
            pushFollow(FOLLOW_rule__Tab__DenomAssignment_10_in_rule__Tab__Group__103477);
            rule__Tab__DenomAssignment_10();
            _fsp--;


            }

             after(grammarAccess.getTabAccess().getDenomAssignment_10()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__11_in_rule__Tab__Group__103486);
            rule__Tab__Group__11();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__10


    // $ANTLR start rule__Tab__Group__11
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1643:1: rule__Tab__Group__11 : ( ' guitar ' ) rule__Tab__Group__12 ;
    public final void rule__Tab__Group__11() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1647:1: ( ( ' guitar ' ) rule__Tab__Group__12 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1648:1: ( ' guitar ' ) rule__Tab__Group__12
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1648:1: ( ' guitar ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1649:1: ' guitar '
            {
             before(grammarAccess.getTabAccess().getGuitarKeyword_11()); 
            match(input,53,FOLLOW_53_in_rule__Tab__Group__113515); 
             after(grammarAccess.getTabAccess().getGuitarKeyword_11()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__12_in_rule__Tab__Group__113525);
            rule__Tab__Group__12();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__11


    // $ANTLR start rule__Tab__Group__12
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1663:1: rule__Tab__Group__12 : ( ( rule__Tab__GuitarAssignment_12 ) ) rule__Tab__Group__13 ;
    public final void rule__Tab__Group__12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1667:1: ( ( ( rule__Tab__GuitarAssignment_12 ) ) rule__Tab__Group__13 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1668:1: ( ( rule__Tab__GuitarAssignment_12 ) ) rule__Tab__Group__13
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1668:1: ( ( rule__Tab__GuitarAssignment_12 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1669:1: ( rule__Tab__GuitarAssignment_12 )
            {
             before(grammarAccess.getTabAccess().getGuitarAssignment_12()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1670:1: ( rule__Tab__GuitarAssignment_12 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1670:2: rule__Tab__GuitarAssignment_12
            {
            pushFollow(FOLLOW_rule__Tab__GuitarAssignment_12_in_rule__Tab__Group__123553);
            rule__Tab__GuitarAssignment_12();
            _fsp--;


            }

             after(grammarAccess.getTabAccess().getGuitarAssignment_12()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__13_in_rule__Tab__Group__123562);
            rule__Tab__Group__13();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__12


    // $ANTLR start rule__Tab__Group__13
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1681:1: rule__Tab__Group__13 : ( '||:' ) rule__Tab__Group__14 ;
    public final void rule__Tab__Group__13() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1685:1: ( ( '||:' ) rule__Tab__Group__14 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1686:1: ( '||:' ) rule__Tab__Group__14
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1686:1: ( '||:' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1687:1: '||:'
            {
             before(grammarAccess.getTabAccess().getVerticalLineVerticalLineColonKeyword_13()); 
            match(input,54,FOLLOW_54_in_rule__Tab__Group__133591); 
             after(grammarAccess.getTabAccess().getVerticalLineVerticalLineColonKeyword_13()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__14_in_rule__Tab__Group__133601);
            rule__Tab__Group__14();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__13


    // $ANTLR start rule__Tab__Group__14
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1701:1: rule__Tab__Group__14 : ( ( rule__Tab__BeatAssignment_14 )* ) rule__Tab__Group__15 ;
    public final void rule__Tab__Group__14() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1705:1: ( ( ( rule__Tab__BeatAssignment_14 )* ) rule__Tab__Group__15 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1706:1: ( ( rule__Tab__BeatAssignment_14 )* ) rule__Tab__Group__15
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1706:1: ( ( rule__Tab__BeatAssignment_14 )* )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1707:1: ( rule__Tab__BeatAssignment_14 )*
            {
             before(grammarAccess.getTabAccess().getBeatAssignment_14()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1708:1: ( rule__Tab__BeatAssignment_14 )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==56||LA13_0==59) ) {
                    alt13=1;
                }


                switch (alt13) {
            	case 1 :
            	    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1708:2: rule__Tab__BeatAssignment_14
            	    {
            	    pushFollow(FOLLOW_rule__Tab__BeatAssignment_14_in_rule__Tab__Group__143629);
            	    rule__Tab__BeatAssignment_14();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop13;
                }
            } while (true);

             after(grammarAccess.getTabAccess().getBeatAssignment_14()); 

            }

            pushFollow(FOLLOW_rule__Tab__Group__15_in_rule__Tab__Group__143639);
            rule__Tab__Group__15();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__14


    // $ANTLR start rule__Tab__Group__15
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1719:1: rule__Tab__Group__15 : ( ':||' ) ;
    public final void rule__Tab__Group__15() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1723:1: ( ( ':||' ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1724:1: ( ':||' )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1724:1: ( ':||' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1725:1: ':||'
            {
             before(grammarAccess.getTabAccess().getColonVerticalLineVerticalLineKeyword_15()); 
            match(input,55,FOLLOW_55_in_rule__Tab__Group__153668); 
             after(grammarAccess.getTabAccess().getColonVerticalLineVerticalLineKeyword_15()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__Group__15


    // $ANTLR start rule__Beat__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1770:1: rule__Beat__Group__0 : ( ( rule__Beat__NotesAssignment_0 )* ) rule__Beat__Group__1 ;
    public final void rule__Beat__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1774:1: ( ( ( rule__Beat__NotesAssignment_0 )* ) rule__Beat__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1775:1: ( ( rule__Beat__NotesAssignment_0 )* ) rule__Beat__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1775:1: ( ( rule__Beat__NotesAssignment_0 )* )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1776:1: ( rule__Beat__NotesAssignment_0 )*
            {
             before(grammarAccess.getBeatAccess().getNotesAssignment_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1777:1: ( rule__Beat__NotesAssignment_0 )*
            loop14:
            do {
                int alt14=2;
                int LA14_0 = input.LA(1);

                if ( (LA14_0==59) ) {
                    alt14=1;
                }


                switch (alt14) {
            	case 1 :
            	    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1777:2: rule__Beat__NotesAssignment_0
            	    {
            	    pushFollow(FOLLOW_rule__Beat__NotesAssignment_0_in_rule__Beat__Group__03735);
            	    rule__Beat__NotesAssignment_0();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop14;
                }
            } while (true);

             after(grammarAccess.getBeatAccess().getNotesAssignment_0()); 

            }

            pushFollow(FOLLOW_rule__Beat__Group__1_in_rule__Beat__Group__03745);
            rule__Beat__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__Group__0


    // $ANTLR start rule__Beat__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1788:1: rule__Beat__Group__1 : ( ' |' ) rule__Beat__Group__2 ;
    public final void rule__Beat__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1792:1: ( ( ' |' ) rule__Beat__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1793:1: ( ' |' ) rule__Beat__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1793:1: ( ' |' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1794:1: ' |'
            {
             before(grammarAccess.getBeatAccess().getSpaceVerticalLineKeyword_1()); 
            match(input,56,FOLLOW_56_in_rule__Beat__Group__13774); 
             after(grammarAccess.getBeatAccess().getSpaceVerticalLineKeyword_1()); 

            }

            pushFollow(FOLLOW_rule__Beat__Group__2_in_rule__Beat__Group__13784);
            rule__Beat__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__Group__1


    // $ANTLR start rule__Beat__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1808:1: rule__Beat__Group__2 : ( ( rule__Beat__Group_2__0 )? ) rule__Beat__Group__3 ;
    public final void rule__Beat__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1812:1: ( ( ( rule__Beat__Group_2__0 )? ) rule__Beat__Group__3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1813:1: ( ( rule__Beat__Group_2__0 )? ) rule__Beat__Group__3
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1813:1: ( ( rule__Beat__Group_2__0 )? )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1814:1: ( rule__Beat__Group_2__0 )?
            {
             before(grammarAccess.getBeatAccess().getGroup_2()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1815:1: ( rule__Beat__Group_2__0 )?
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0==57) ) {
                alt15=1;
            }
            switch (alt15) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1815:2: rule__Beat__Group_2__0
                    {
                    pushFollow(FOLLOW_rule__Beat__Group_2__0_in_rule__Beat__Group__23812);
                    rule__Beat__Group_2__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getBeatAccess().getGroup_2()); 

            }

            pushFollow(FOLLOW_rule__Beat__Group__3_in_rule__Beat__Group__23822);
            rule__Beat__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__Group__2


    // $ANTLR start rule__Beat__Group__3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1826:1: rule__Beat__Group__3 : ( ( rule__Beat__Group_3__0 )? ) ;
    public final void rule__Beat__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1830:1: ( ( ( rule__Beat__Group_3__0 )? ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1831:1: ( ( rule__Beat__Group_3__0 )? )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1831:1: ( ( rule__Beat__Group_3__0 )? )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1832:1: ( rule__Beat__Group_3__0 )?
            {
             before(grammarAccess.getBeatAccess().getGroup_3()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1833:1: ( rule__Beat__Group_3__0 )?
            int alt16=2;
            int LA16_0 = input.LA(1);

            if ( (LA16_0==58) ) {
                alt16=1;
            }
            switch (alt16) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1833:2: rule__Beat__Group_3__0
                    {
                    pushFollow(FOLLOW_rule__Beat__Group_3__0_in_rule__Beat__Group__33850);
                    rule__Beat__Group_3__0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getBeatAccess().getGroup_3()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__Group__3


    // $ANTLR start rule__Beat__Group_2__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1851:1: rule__Beat__Group_2__0 : ( '=' ) rule__Beat__Group_2__1 ;
    public final void rule__Beat__Group_2__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1855:1: ( ( '=' ) rule__Beat__Group_2__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1856:1: ( '=' ) rule__Beat__Group_2__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1856:1: ( '=' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1857:1: '='
            {
             before(grammarAccess.getBeatAccess().getEqualsSignKeyword_2_0()); 
            match(input,57,FOLLOW_57_in_rule__Beat__Group_2__03894); 
             after(grammarAccess.getBeatAccess().getEqualsSignKeyword_2_0()); 

            }

            pushFollow(FOLLOW_rule__Beat__Group_2__1_in_rule__Beat__Group_2__03904);
            rule__Beat__Group_2__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__Group_2__0


    // $ANTLR start rule__Beat__Group_2__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1871:1: rule__Beat__Group_2__1 : ( ( rule__Beat__GuitarAssignment_2_1 ) ) ;
    public final void rule__Beat__Group_2__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1875:1: ( ( ( rule__Beat__GuitarAssignment_2_1 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1876:1: ( ( rule__Beat__GuitarAssignment_2_1 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1876:1: ( ( rule__Beat__GuitarAssignment_2_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1877:1: ( rule__Beat__GuitarAssignment_2_1 )
            {
             before(grammarAccess.getBeatAccess().getGuitarAssignment_2_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1878:1: ( rule__Beat__GuitarAssignment_2_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1878:2: rule__Beat__GuitarAssignment_2_1
            {
            pushFollow(FOLLOW_rule__Beat__GuitarAssignment_2_1_in_rule__Beat__Group_2__13932);
            rule__Beat__GuitarAssignment_2_1();
            _fsp--;


            }

             after(grammarAccess.getBeatAccess().getGuitarAssignment_2_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__Group_2__1


    // $ANTLR start rule__Beat__Group_3__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1892:1: rule__Beat__Group_3__0 : ( '*' ) rule__Beat__Group_3__1 ;
    public final void rule__Beat__Group_3__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1896:1: ( ( '*' ) rule__Beat__Group_3__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1897:1: ( '*' ) rule__Beat__Group_3__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1897:1: ( '*' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1898:1: '*'
            {
             before(grammarAccess.getBeatAccess().getAsteriskKeyword_3_0()); 
            match(input,58,FOLLOW_58_in_rule__Beat__Group_3__03971); 
             after(grammarAccess.getBeatAccess().getAsteriskKeyword_3_0()); 

            }

            pushFollow(FOLLOW_rule__Beat__Group_3__1_in_rule__Beat__Group_3__03981);
            rule__Beat__Group_3__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__Group_3__0


    // $ANTLR start rule__Beat__Group_3__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1912:1: rule__Beat__Group_3__1 : ( ( rule__Beat__CountAssignment_3_1 ) ) ;
    public final void rule__Beat__Group_3__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1916:1: ( ( ( rule__Beat__CountAssignment_3_1 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1917:1: ( ( rule__Beat__CountAssignment_3_1 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1917:1: ( ( rule__Beat__CountAssignment_3_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1918:1: ( rule__Beat__CountAssignment_3_1 )
            {
             before(grammarAccess.getBeatAccess().getCountAssignment_3_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1919:1: ( rule__Beat__CountAssignment_3_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1919:2: rule__Beat__CountAssignment_3_1
            {
            pushFollow(FOLLOW_rule__Beat__CountAssignment_3_1_in_rule__Beat__Group_3__14009);
            rule__Beat__CountAssignment_3_1();
            _fsp--;


            }

             after(grammarAccess.getBeatAccess().getCountAssignment_3_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__Group_3__1


    // $ANTLR start rule__Tone__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1933:1: rule__Tone__Group__0 : ( ' ' ) rule__Tone__Group__1 ;
    public final void rule__Tone__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1937:1: ( ( ' ' ) rule__Tone__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1938:1: ( ' ' ) rule__Tone__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1938:1: ( ' ' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1939:1: ' '
            {
             before(grammarAccess.getToneAccess().getSpaceKeyword_0()); 
            match(input,59,FOLLOW_59_in_rule__Tone__Group__04048); 
             after(grammarAccess.getToneAccess().getSpaceKeyword_0()); 

            }

            pushFollow(FOLLOW_rule__Tone__Group__1_in_rule__Tone__Group__04058);
            rule__Tone__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tone__Group__0


    // $ANTLR start rule__Tone__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1953:1: rule__Tone__Group__1 : ( ( rule__Tone__SoundAssignment_1 )? ) rule__Tone__Group__2 ;
    public final void rule__Tone__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1957:1: ( ( ( rule__Tone__SoundAssignment_1 )? ) rule__Tone__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1958:1: ( ( rule__Tone__SoundAssignment_1 )? ) rule__Tone__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1958:1: ( ( rule__Tone__SoundAssignment_1 )? )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1959:1: ( rule__Tone__SoundAssignment_1 )?
            {
             before(grammarAccess.getToneAccess().getSoundAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1960:1: ( rule__Tone__SoundAssignment_1 )?
            int alt17=2;
            int LA17_0 = input.LA(1);

            if ( ((LA17_0>=RULE_STRING && LA17_0<=RULE_INT)||(LA17_0>=17 && LA17_0<=33)) ) {
                alt17=1;
            }
            switch (alt17) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1960:2: rule__Tone__SoundAssignment_1
                    {
                    pushFollow(FOLLOW_rule__Tone__SoundAssignment_1_in_rule__Tone__Group__14086);
                    rule__Tone__SoundAssignment_1();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getToneAccess().getSoundAssignment_1()); 

            }

            pushFollow(FOLLOW_rule__Tone__Group__2_in_rule__Tone__Group__14096);
            rule__Tone__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tone__Group__1


    // $ANTLR start rule__Tone__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1971:1: rule__Tone__Group__2 : ( '.' ) rule__Tone__Group__3 ;
    public final void rule__Tone__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1975:1: ( ( '.' ) rule__Tone__Group__3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1976:1: ( '.' ) rule__Tone__Group__3
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1976:1: ( '.' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1977:1: '.'
            {
             before(grammarAccess.getToneAccess().getFullStopKeyword_2()); 
            match(input,60,FOLLOW_60_in_rule__Tone__Group__24125); 
             after(grammarAccess.getToneAccess().getFullStopKeyword_2()); 

            }

            pushFollow(FOLLOW_rule__Tone__Group__3_in_rule__Tone__Group__24135);
            rule__Tone__Group__3();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tone__Group__2


    // $ANTLR start rule__Tone__Group__3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1991:1: rule__Tone__Group__3 : ( ( rule__Tone__ValueAssignment_3 ) ) rule__Tone__Group__4 ;
    public final void rule__Tone__Group__3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1995:1: ( ( ( rule__Tone__ValueAssignment_3 ) ) rule__Tone__Group__4 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1996:1: ( ( rule__Tone__ValueAssignment_3 ) ) rule__Tone__Group__4
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1996:1: ( ( rule__Tone__ValueAssignment_3 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1997:1: ( rule__Tone__ValueAssignment_3 )
            {
             before(grammarAccess.getToneAccess().getValueAssignment_3()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1998:1: ( rule__Tone__ValueAssignment_3 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:1998:2: rule__Tone__ValueAssignment_3
            {
            pushFollow(FOLLOW_rule__Tone__ValueAssignment_3_in_rule__Tone__Group__34163);
            rule__Tone__ValueAssignment_3();
            _fsp--;


            }

             after(grammarAccess.getToneAccess().getValueAssignment_3()); 

            }

            pushFollow(FOLLOW_rule__Tone__Group__4_in_rule__Tone__Group__34172);
            rule__Tone__Group__4();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tone__Group__3


    // $ANTLR start rule__Tone__Group__4
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2009:1: rule__Tone__Group__4 : ( ( rule__Tone__StrokesAssignment_4 )* ) ;
    public final void rule__Tone__Group__4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2013:1: ( ( ( rule__Tone__StrokesAssignment_4 )* ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2014:1: ( ( rule__Tone__StrokesAssignment_4 )* )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2014:1: ( ( rule__Tone__StrokesAssignment_4 )* )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2015:1: ( rule__Tone__StrokesAssignment_4 )*
            {
             before(grammarAccess.getToneAccess().getStrokesAssignment_4()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2016:1: ( rule__Tone__StrokesAssignment_4 )*
            loop18:
            do {
                int alt18=2;
                int LA18_0 = input.LA(1);

                if ( ((LA18_0>=61 && LA18_0<=65)) ) {
                    alt18=1;
                }


                switch (alt18) {
            	case 1 :
            	    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2016:2: rule__Tone__StrokesAssignment_4
            	    {
            	    pushFollow(FOLLOW_rule__Tone__StrokesAssignment_4_in_rule__Tone__Group__44200);
            	    rule__Tone__StrokesAssignment_4();
            	    _fsp--;


            	    }
            	    break;

            	default :
            	    break loop18;
                }
            } while (true);

             after(grammarAccess.getToneAccess().getStrokesAssignment_4()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tone__Group__4


    // $ANTLR start rule__DownStroke__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2036:1: rule__DownStroke__Group__0 : ( ( rule__DownStroke__DeathAssignment_0 )? ) rule__DownStroke__Group__1 ;
    public final void rule__DownStroke__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2040:1: ( ( ( rule__DownStroke__DeathAssignment_0 )? ) rule__DownStroke__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2041:1: ( ( rule__DownStroke__DeathAssignment_0 )? ) rule__DownStroke__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2041:1: ( ( rule__DownStroke__DeathAssignment_0 )? )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2042:1: ( rule__DownStroke__DeathAssignment_0 )?
            {
             before(grammarAccess.getDownStrokeAccess().getDeathAssignment_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2043:1: ( rule__DownStroke__DeathAssignment_0 )?
            int alt19=2;
            int LA19_0 = input.LA(1);

            if ( (LA19_0==61) ) {
                alt19=1;
            }
            switch (alt19) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2043:2: rule__DownStroke__DeathAssignment_0
                    {
                    pushFollow(FOLLOW_rule__DownStroke__DeathAssignment_0_in_rule__DownStroke__Group__04245);
                    rule__DownStroke__DeathAssignment_0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getDownStrokeAccess().getDeathAssignment_0()); 

            }

            pushFollow(FOLLOW_rule__DownStroke__Group__1_in_rule__DownStroke__Group__04255);
            rule__DownStroke__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DownStroke__Group__0


    // $ANTLR start rule__DownStroke__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2054:1: rule__DownStroke__Group__1 : ( ( rule__DownStroke__NameAssignment_1 ) ) ;
    public final void rule__DownStroke__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2058:1: ( ( ( rule__DownStroke__NameAssignment_1 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2059:1: ( ( rule__DownStroke__NameAssignment_1 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2059:1: ( ( rule__DownStroke__NameAssignment_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2060:1: ( rule__DownStroke__NameAssignment_1 )
            {
             before(grammarAccess.getDownStrokeAccess().getNameAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2061:1: ( rule__DownStroke__NameAssignment_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2061:2: rule__DownStroke__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__DownStroke__NameAssignment_1_in_rule__DownStroke__Group__14283);
            rule__DownStroke__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getDownStrokeAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DownStroke__Group__1


    // $ANTLR start rule__UpStroke__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2075:1: rule__UpStroke__Group__0 : ( ( rule__UpStroke__DeathAssignment_0 )? ) rule__UpStroke__Group__1 ;
    public final void rule__UpStroke__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2079:1: ( ( ( rule__UpStroke__DeathAssignment_0 )? ) rule__UpStroke__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2080:1: ( ( rule__UpStroke__DeathAssignment_0 )? ) rule__UpStroke__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2080:1: ( ( rule__UpStroke__DeathAssignment_0 )? )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2081:1: ( rule__UpStroke__DeathAssignment_0 )?
            {
             before(grammarAccess.getUpStrokeAccess().getDeathAssignment_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2082:1: ( rule__UpStroke__DeathAssignment_0 )?
            int alt20=2;
            int LA20_0 = input.LA(1);

            if ( (LA20_0==61) ) {
                alt20=1;
            }
            switch (alt20) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2082:2: rule__UpStroke__DeathAssignment_0
                    {
                    pushFollow(FOLLOW_rule__UpStroke__DeathAssignment_0_in_rule__UpStroke__Group__04321);
                    rule__UpStroke__DeathAssignment_0();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getUpStrokeAccess().getDeathAssignment_0()); 

            }

            pushFollow(FOLLOW_rule__UpStroke__Group__1_in_rule__UpStroke__Group__04331);
            rule__UpStroke__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__UpStroke__Group__0


    // $ANTLR start rule__UpStroke__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2093:1: rule__UpStroke__Group__1 : ( ( rule__UpStroke__NameAssignment_1 ) ) ;
    public final void rule__UpStroke__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2097:1: ( ( ( rule__UpStroke__NameAssignment_1 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2098:1: ( ( rule__UpStroke__NameAssignment_1 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2098:1: ( ( rule__UpStroke__NameAssignment_1 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2099:1: ( rule__UpStroke__NameAssignment_1 )
            {
             before(grammarAccess.getUpStrokeAccess().getNameAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2100:1: ( rule__UpStroke__NameAssignment_1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2100:2: rule__UpStroke__NameAssignment_1
            {
            pushFollow(FOLLOW_rule__UpStroke__NameAssignment_1_in_rule__UpStroke__Group__14359);
            rule__UpStroke__NameAssignment_1();
            _fsp--;


            }

             after(grammarAccess.getUpStrokeAccess().getNameAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__UpStroke__Group__1


    // $ANTLR start rule__Note__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2114:1: rule__Note__Group__0 : ( ( rule__Note__NoteAssignment_0 ) ) rule__Note__Group__1 ;
    public final void rule__Note__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2118:1: ( ( ( rule__Note__NoteAssignment_0 ) ) rule__Note__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2119:1: ( ( rule__Note__NoteAssignment_0 ) ) rule__Note__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2119:1: ( ( rule__Note__NoteAssignment_0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2120:1: ( rule__Note__NoteAssignment_0 )
            {
             before(grammarAccess.getNoteAccess().getNoteAssignment_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2121:1: ( rule__Note__NoteAssignment_0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2121:2: rule__Note__NoteAssignment_0
            {
            pushFollow(FOLLOW_rule__Note__NoteAssignment_0_in_rule__Note__Group__04397);
            rule__Note__NoteAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getNoteAccess().getNoteAssignment_0()); 

            }

            pushFollow(FOLLOW_rule__Note__Group__1_in_rule__Note__Group__04406);
            rule__Note__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Note__Group__0


    // $ANTLR start rule__Note__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2132:1: rule__Note__Group__1 : ( '=' ) rule__Note__Group__2 ;
    public final void rule__Note__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2136:1: ( ( '=' ) rule__Note__Group__2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2137:1: ( '=' ) rule__Note__Group__2
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2137:1: ( '=' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2138:1: '='
            {
             before(grammarAccess.getNoteAccess().getEqualsSignKeyword_1()); 
            match(input,57,FOLLOW_57_in_rule__Note__Group__14435); 
             after(grammarAccess.getNoteAccess().getEqualsSignKeyword_1()); 

            }

            pushFollow(FOLLOW_rule__Note__Group__2_in_rule__Note__Group__14445);
            rule__Note__Group__2();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Note__Group__1


    // $ANTLR start rule__Note__Group__2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2152:1: rule__Note__Group__2 : ( ( rule__Note__GitStringAssignment_2 ) ) ;
    public final void rule__Note__Group__2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2156:1: ( ( ( rule__Note__GitStringAssignment_2 ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2157:1: ( ( rule__Note__GitStringAssignment_2 ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2157:1: ( ( rule__Note__GitStringAssignment_2 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2158:1: ( rule__Note__GitStringAssignment_2 )
            {
             before(grammarAccess.getNoteAccess().getGitStringAssignment_2()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2159:1: ( rule__Note__GitStringAssignment_2 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2159:2: rule__Note__GitStringAssignment_2
            {
            pushFollow(FOLLOW_rule__Note__GitStringAssignment_2_in_rule__Note__Group__24473);
            rule__Note__GitStringAssignment_2();
            _fsp--;


            }

             after(grammarAccess.getNoteAccess().getGitStringAssignment_2()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Note__Group__2


    // $ANTLR start rule__NoteName__Group__0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2175:1: rule__NoteName__Group__0 : ( ( rule__NoteName__NoteAssignment_0 ) ) rule__NoteName__Group__1 ;
    public final void rule__NoteName__Group__0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2179:1: ( ( ( rule__NoteName__NoteAssignment_0 ) ) rule__NoteName__Group__1 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2180:1: ( ( rule__NoteName__NoteAssignment_0 ) ) rule__NoteName__Group__1
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2180:1: ( ( rule__NoteName__NoteAssignment_0 ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2181:1: ( rule__NoteName__NoteAssignment_0 )
            {
             before(grammarAccess.getNoteNameAccess().getNoteAssignment_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2182:1: ( rule__NoteName__NoteAssignment_0 )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2182:2: rule__NoteName__NoteAssignment_0
            {
            pushFollow(FOLLOW_rule__NoteName__NoteAssignment_0_in_rule__NoteName__Group__04513);
            rule__NoteName__NoteAssignment_0();
            _fsp--;


            }

             after(grammarAccess.getNoteNameAccess().getNoteAssignment_0()); 

            }

            pushFollow(FOLLOW_rule__NoteName__Group__1_in_rule__NoteName__Group__04522);
            rule__NoteName__Group__1();
            _fsp--;


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NoteName__Group__0


    // $ANTLR start rule__NoteName__Group__1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2193:1: rule__NoteName__Group__1 : ( ( rule__NoteName__OctaveAssignment_1 )? ) ;
    public final void rule__NoteName__Group__1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2197:1: ( ( ( rule__NoteName__OctaveAssignment_1 )? ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2198:1: ( ( rule__NoteName__OctaveAssignment_1 )? )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2198:1: ( ( rule__NoteName__OctaveAssignment_1 )? )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2199:1: ( rule__NoteName__OctaveAssignment_1 )?
            {
             before(grammarAccess.getNoteNameAccess().getOctaveAssignment_1()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2200:1: ( rule__NoteName__OctaveAssignment_1 )?
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==66) ) {
                alt21=1;
            }
            switch (alt21) {
                case 1 :
                    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2200:2: rule__NoteName__OctaveAssignment_1
                    {
                    pushFollow(FOLLOW_rule__NoteName__OctaveAssignment_1_in_rule__NoteName__Group__14550);
                    rule__NoteName__OctaveAssignment_1();
                    _fsp--;


                    }
                    break;

            }

             after(grammarAccess.getNoteNameAccess().getOctaveAssignment_1()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NoteName__Group__1


    // $ANTLR start rule__TabModel__ImportsAssignment_0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2214:1: rule__TabModel__ImportsAssignment_0 : ( ruleImport ) ;
    public final void rule__TabModel__ImportsAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2218:1: ( ( ruleImport ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2219:1: ( ruleImport )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2219:1: ( ruleImport )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2220:1: ruleImport
            {
             before(grammarAccess.getTabModelAccess().getImportsImportParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleImport_in_rule__TabModel__ImportsAssignment_04589);
            ruleImport();
            _fsp--;

             after(grammarAccess.getTabModelAccess().getImportsImportParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TabModel__ImportsAssignment_0


    // $ANTLR start rule__TabModel__TuningAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2229:1: rule__TabModel__TuningAssignment_1 : ( ruleTuning ) ;
    public final void rule__TabModel__TuningAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2233:1: ( ( ruleTuning ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2234:1: ( ruleTuning )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2234:1: ( ruleTuning )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2235:1: ruleTuning
            {
             before(grammarAccess.getTabModelAccess().getTuningTuningParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleTuning_in_rule__TabModel__TuningAssignment_14620);
            ruleTuning();
            _fsp--;

             after(grammarAccess.getTabModelAccess().getTuningTuningParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TabModel__TuningAssignment_1


    // $ANTLR start rule__TabModel__ChordLibraryAssignment_2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2244:1: rule__TabModel__ChordLibraryAssignment_2 : ( ruleChordLibrary ) ;
    public final void rule__TabModel__ChordLibraryAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2248:1: ( ( ruleChordLibrary ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2249:1: ( ruleChordLibrary )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2249:1: ( ruleChordLibrary )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2250:1: ruleChordLibrary
            {
             before(grammarAccess.getTabModelAccess().getChordLibraryChordLibraryParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleChordLibrary_in_rule__TabModel__ChordLibraryAssignment_24651);
            ruleChordLibrary();
            _fsp--;

             after(grammarAccess.getTabModelAccess().getChordLibraryChordLibraryParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TabModel__ChordLibraryAssignment_2


    // $ANTLR start rule__TabModel__TabAssignment_3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2259:1: rule__TabModel__TabAssignment_3 : ( ruleTab ) ;
    public final void rule__TabModel__TabAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2263:1: ( ( ruleTab ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2264:1: ( ruleTab )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2264:1: ( ruleTab )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2265:1: ruleTab
            {
             before(grammarAccess.getTabModelAccess().getTabTabParserRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleTab_in_rule__TabModel__TabAssignment_34682);
            ruleTab();
            _fsp--;

             after(grammarAccess.getTabModelAccess().getTabTabParserRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__TabModel__TabAssignment_3


    // $ANTLR start rule__Import__ImportURIAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2274:1: rule__Import__ImportURIAssignment_1 : ( RULE_STRING ) ;
    public final void rule__Import__ImportURIAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2278:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2279:1: ( RULE_STRING )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2279:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2280:1: RULE_STRING
            {
             before(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_14713); 
             after(grammarAccess.getImportAccess().getImportURISTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Import__ImportURIAssignment_1


    // $ANTLR start rule__Tuning__NameAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2289:1: rule__Tuning__NameAssignment_1 : ( RULE_STRING ) ;
    public final void rule__Tuning__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2293:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2294:1: ( RULE_STRING )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2294:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2295:1: RULE_STRING
            {
             before(grammarAccess.getTuningAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Tuning__NameAssignment_14744); 
             after(grammarAccess.getTuningAccess().getNameSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tuning__NameAssignment_1


    // $ANTLR start rule__Tuning__FretsAssignment_3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2304:1: rule__Tuning__FretsAssignment_3 : ( RULE_INT ) ;
    public final void rule__Tuning__FretsAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2308:1: ( ( RULE_INT ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2309:1: ( RULE_INT )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2309:1: ( RULE_INT )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2310:1: RULE_INT
            {
             before(grammarAccess.getTuningAccess().getFretsINTTerminalRuleCall_3_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Tuning__FretsAssignment_34775); 
             after(grammarAccess.getTuningAccess().getFretsINTTerminalRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tuning__FretsAssignment_3


    // $ANTLR start rule__Tuning__StringsAssignment_4
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2319:1: rule__Tuning__StringsAssignment_4 : ( ruleGuitarStr ) ;
    public final void rule__Tuning__StringsAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2323:1: ( ( ruleGuitarStr ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2324:1: ( ruleGuitarStr )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2324:1: ( ruleGuitarStr )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2325:1: ruleGuitarStr
            {
             before(grammarAccess.getTuningAccess().getStringsGuitarStrParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleGuitarStr_in_rule__Tuning__StringsAssignment_44806);
            ruleGuitarStr();
            _fsp--;

             after(grammarAccess.getTuningAccess().getStringsGuitarStrParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tuning__StringsAssignment_4


    // $ANTLR start rule__GuitarStr__NameAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2334:1: rule__GuitarStr__NameAssignment_1 : ( RULE_STRING ) ;
    public final void rule__GuitarStr__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2338:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2339:1: ( RULE_STRING )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2339:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2340:1: RULE_STRING
            {
             before(grammarAccess.getGuitarStrAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__GuitarStr__NameAssignment_14837); 
             after(grammarAccess.getGuitarStrAccess().getNameSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__NameAssignment_1


    // $ANTLR start rule__GuitarStr__NoteAssignment_3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2349:1: rule__GuitarStr__NoteAssignment_3 : ( ruleNotes ) ;
    public final void rule__GuitarStr__NoteAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2353:1: ( ( ruleNotes ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2354:1: ( ruleNotes )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2354:1: ( ruleNotes )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2355:1: ruleNotes
            {
             before(grammarAccess.getGuitarStrAccess().getNoteNotesEnumRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleNotes_in_rule__GuitarStr__NoteAssignment_34868);
            ruleNotes();
            _fsp--;

             after(grammarAccess.getGuitarStrAccess().getNoteNotesEnumRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__NoteAssignment_3


    // $ANTLR start rule__GuitarStr__MidiAssignment_5
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2364:1: rule__GuitarStr__MidiAssignment_5 : ( RULE_INT ) ;
    public final void rule__GuitarStr__MidiAssignment_5() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2368:1: ( ( RULE_INT ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2369:1: ( RULE_INT )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2369:1: ( RULE_INT )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2370:1: RULE_INT
            {
             before(grammarAccess.getGuitarStrAccess().getMidiINTTerminalRuleCall_5_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__GuitarStr__MidiAssignment_54899); 
             after(grammarAccess.getGuitarStrAccess().getMidiINTTerminalRuleCall_5_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__GuitarStr__MidiAssignment_5


    // $ANTLR start rule__ChordLibrary__NameAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2379:1: rule__ChordLibrary__NameAssignment_1 : ( RULE_STRING ) ;
    public final void rule__ChordLibrary__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2383:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2384:1: ( RULE_STRING )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2384:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2385:1: RULE_STRING
            {
             before(grammarAccess.getChordLibraryAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ChordLibrary__NameAssignment_14930); 
             after(grammarAccess.getChordLibraryAccess().getNameSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordLibrary__NameAssignment_1


    // $ANTLR start rule__ChordLibrary__ChordsAssignment_2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2394:1: rule__ChordLibrary__ChordsAssignment_2 : ( ruleChordDefinition ) ;
    public final void rule__ChordLibrary__ChordsAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2398:1: ( ( ruleChordDefinition ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2399:1: ( ruleChordDefinition )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2399:1: ( ruleChordDefinition )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2400:1: ruleChordDefinition
            {
             before(grammarAccess.getChordLibraryAccess().getChordsChordDefinitionParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleChordDefinition_in_rule__ChordLibrary__ChordsAssignment_24961);
            ruleChordDefinition();
            _fsp--;

             after(grammarAccess.getChordLibraryAccess().getChordsChordDefinitionParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordLibrary__ChordsAssignment_2


    // $ANTLR start rule__ChordDefinition__NameAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2409:1: rule__ChordDefinition__NameAssignment_1 : ( RULE_STRING ) ;
    public final void rule__ChordDefinition__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2413:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2414:1: ( RULE_STRING )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2414:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2415:1: RULE_STRING
            {
             before(grammarAccess.getChordDefinitionAccess().getNameSTRINGTerminalRuleCall_1_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__ChordDefinition__NameAssignment_14992); 
             after(grammarAccess.getChordDefinitionAccess().getNameSTRINGTerminalRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordDefinition__NameAssignment_1


    // $ANTLR start rule__ChordDefinition__NotesAssignment_2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2424:1: rule__ChordDefinition__NotesAssignment_2 : ( ruleNote ) ;
    public final void rule__ChordDefinition__NotesAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2428:1: ( ( ruleNote ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2429:1: ( ruleNote )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2429:1: ( ruleNote )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2430:1: ruleNote
            {
             before(grammarAccess.getChordDefinitionAccess().getNotesNoteParserRuleCall_2_0()); 
            pushFollow(FOLLOW_ruleNote_in_rule__ChordDefinition__NotesAssignment_25023);
            ruleNote();
            _fsp--;

             after(grammarAccess.getChordDefinitionAccess().getNotesNoteParserRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__ChordDefinition__NotesAssignment_2


    // $ANTLR start rule__Tab__NameAssignment_2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2439:1: rule__Tab__NameAssignment_2 : ( RULE_STRING ) ;
    public final void rule__Tab__NameAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2443:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2444:1: ( RULE_STRING )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2444:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2445:1: RULE_STRING
            {
             before(grammarAccess.getTabAccess().getNameSTRINGTerminalRuleCall_2_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Tab__NameAssignment_25054); 
             after(grammarAccess.getTabAccess().getNameSTRINGTerminalRuleCall_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__NameAssignment_2


    // $ANTLR start rule__Tab__AuthorAssignment_4
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2454:1: rule__Tab__AuthorAssignment_4 : ( RULE_STRING ) ;
    public final void rule__Tab__AuthorAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2458:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2459:1: ( RULE_STRING )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2459:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2460:1: RULE_STRING
            {
             before(grammarAccess.getTabAccess().getAuthorSTRINGTerminalRuleCall_4_0()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Tab__AuthorAssignment_45085); 
             after(grammarAccess.getTabAccess().getAuthorSTRINGTerminalRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__AuthorAssignment_4


    // $ANTLR start rule__Tab__TempoAssignment_6
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2469:1: rule__Tab__TempoAssignment_6 : ( RULE_INT ) ;
    public final void rule__Tab__TempoAssignment_6() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2473:1: ( ( RULE_INT ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2474:1: ( RULE_INT )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2474:1: ( RULE_INT )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2475:1: RULE_INT
            {
             before(grammarAccess.getTabAccess().getTempoINTTerminalRuleCall_6_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Tab__TempoAssignment_65116); 
             after(grammarAccess.getTabAccess().getTempoINTTerminalRuleCall_6_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__TempoAssignment_6


    // $ANTLR start rule__Tab__NumAssignment_8
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2484:1: rule__Tab__NumAssignment_8 : ( RULE_INT ) ;
    public final void rule__Tab__NumAssignment_8() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2488:1: ( ( RULE_INT ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2489:1: ( RULE_INT )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2489:1: ( RULE_INT )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2490:1: RULE_INT
            {
             before(grammarAccess.getTabAccess().getNumINTTerminalRuleCall_8_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Tab__NumAssignment_85147); 
             after(grammarAccess.getTabAccess().getNumINTTerminalRuleCall_8_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__NumAssignment_8


    // $ANTLR start rule__Tab__DenomAssignment_10
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2499:1: rule__Tab__DenomAssignment_10 : ( RULE_INT ) ;
    public final void rule__Tab__DenomAssignment_10() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2503:1: ( ( RULE_INT ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2504:1: ( RULE_INT )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2504:1: ( RULE_INT )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2505:1: RULE_INT
            {
             before(grammarAccess.getTabAccess().getDenomINTTerminalRuleCall_10_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Tab__DenomAssignment_105178); 
             after(grammarAccess.getTabAccess().getDenomINTTerminalRuleCall_10_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__DenomAssignment_10


    // $ANTLR start rule__Tab__GuitarAssignment_12
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2514:1: rule__Tab__GuitarAssignment_12 : ( ruleGuitarSound ) ;
    public final void rule__Tab__GuitarAssignment_12() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2518:1: ( ( ruleGuitarSound ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2519:1: ( ruleGuitarSound )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2519:1: ( ruleGuitarSound )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2520:1: ruleGuitarSound
            {
             before(grammarAccess.getTabAccess().getGuitarGuitarSoundEnumRuleCall_12_0()); 
            pushFollow(FOLLOW_ruleGuitarSound_in_rule__Tab__GuitarAssignment_125209);
            ruleGuitarSound();
            _fsp--;

             after(grammarAccess.getTabAccess().getGuitarGuitarSoundEnumRuleCall_12_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__GuitarAssignment_12


    // $ANTLR start rule__Tab__BeatAssignment_14
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2529:1: rule__Tab__BeatAssignment_14 : ( ruleBeat ) ;
    public final void rule__Tab__BeatAssignment_14() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2533:1: ( ( ruleBeat ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2534:1: ( ruleBeat )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2534:1: ( ruleBeat )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2535:1: ruleBeat
            {
             before(grammarAccess.getTabAccess().getBeatBeatParserRuleCall_14_0()); 
            pushFollow(FOLLOW_ruleBeat_in_rule__Tab__BeatAssignment_145240);
            ruleBeat();
            _fsp--;

             after(grammarAccess.getTabAccess().getBeatBeatParserRuleCall_14_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tab__BeatAssignment_14


    // $ANTLR start rule__Beat__NotesAssignment_0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2544:1: rule__Beat__NotesAssignment_0 : ( ruleTone ) ;
    public final void rule__Beat__NotesAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2548:1: ( ( ruleTone ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2549:1: ( ruleTone )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2549:1: ( ruleTone )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2550:1: ruleTone
            {
             before(grammarAccess.getBeatAccess().getNotesToneParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleTone_in_rule__Beat__NotesAssignment_05271);
            ruleTone();
            _fsp--;

             after(grammarAccess.getBeatAccess().getNotesToneParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__NotesAssignment_0


    // $ANTLR start rule__Beat__GuitarAssignment_2_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2559:1: rule__Beat__GuitarAssignment_2_1 : ( ruleGuitarSound ) ;
    public final void rule__Beat__GuitarAssignment_2_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2563:1: ( ( ruleGuitarSound ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2564:1: ( ruleGuitarSound )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2564:1: ( ruleGuitarSound )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2565:1: ruleGuitarSound
            {
             before(grammarAccess.getBeatAccess().getGuitarGuitarSoundEnumRuleCall_2_1_0()); 
            pushFollow(FOLLOW_ruleGuitarSound_in_rule__Beat__GuitarAssignment_2_15302);
            ruleGuitarSound();
            _fsp--;

             after(grammarAccess.getBeatAccess().getGuitarGuitarSoundEnumRuleCall_2_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__GuitarAssignment_2_1


    // $ANTLR start rule__Beat__CountAssignment_3_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2574:1: rule__Beat__CountAssignment_3_1 : ( RULE_INT ) ;
    public final void rule__Beat__CountAssignment_3_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2578:1: ( ( RULE_INT ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2579:1: ( RULE_INT )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2579:1: ( RULE_INT )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2580:1: RULE_INT
            {
             before(grammarAccess.getBeatAccess().getCountINTTerminalRuleCall_3_1_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Beat__CountAssignment_3_15333); 
             after(grammarAccess.getBeatAccess().getCountINTTerminalRuleCall_3_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Beat__CountAssignment_3_1


    // $ANTLR start rule__Tone__SoundAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2589:1: rule__Tone__SoundAssignment_1 : ( ruleSound ) ;
    public final void rule__Tone__SoundAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2593:1: ( ( ruleSound ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2594:1: ( ruleSound )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2594:1: ( ruleSound )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2595:1: ruleSound
            {
             before(grammarAccess.getToneAccess().getSoundSoundParserRuleCall_1_0()); 
            pushFollow(FOLLOW_ruleSound_in_rule__Tone__SoundAssignment_15364);
            ruleSound();
            _fsp--;

             after(grammarAccess.getToneAccess().getSoundSoundParserRuleCall_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tone__SoundAssignment_1


    // $ANTLR start rule__Tone__ValueAssignment_3
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2604:1: rule__Tone__ValueAssignment_3 : ( ruleNoteValues ) ;
    public final void rule__Tone__ValueAssignment_3() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2608:1: ( ( ruleNoteValues ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2609:1: ( ruleNoteValues )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2609:1: ( ruleNoteValues )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2610:1: ruleNoteValues
            {
             before(grammarAccess.getToneAccess().getValueNoteValuesEnumRuleCall_3_0()); 
            pushFollow(FOLLOW_ruleNoteValues_in_rule__Tone__ValueAssignment_35395);
            ruleNoteValues();
            _fsp--;

             after(grammarAccess.getToneAccess().getValueNoteValuesEnumRuleCall_3_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tone__ValueAssignment_3


    // $ANTLR start rule__Tone__StrokesAssignment_4
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2619:1: rule__Tone__StrokesAssignment_4 : ( ruleStroke ) ;
    public final void rule__Tone__StrokesAssignment_4() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2623:1: ( ( ruleStroke ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2624:1: ( ruleStroke )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2624:1: ( ruleStroke )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2625:1: ruleStroke
            {
             before(grammarAccess.getToneAccess().getStrokesStrokeParserRuleCall_4_0()); 
            pushFollow(FOLLOW_ruleStroke_in_rule__Tone__StrokesAssignment_45426);
            ruleStroke();
            _fsp--;

             after(grammarAccess.getToneAccess().getStrokesStrokeParserRuleCall_4_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Tone__StrokesAssignment_4


    // $ANTLR start rule__DownStroke__DeathAssignment_0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2634:1: rule__DownStroke__DeathAssignment_0 : ( ( '#' ) ) ;
    public final void rule__DownStroke__DeathAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2638:1: ( ( ( '#' ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2639:1: ( ( '#' ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2639:1: ( ( '#' ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2640:1: ( '#' )
            {
             before(grammarAccess.getDownStrokeAccess().getDeathNumberSignKeyword_0_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2641:1: ( '#' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2642:1: '#'
            {
             before(grammarAccess.getDownStrokeAccess().getDeathNumberSignKeyword_0_0()); 
            match(input,61,FOLLOW_61_in_rule__DownStroke__DeathAssignment_05462); 
             after(grammarAccess.getDownStrokeAccess().getDeathNumberSignKeyword_0_0()); 

            }

             after(grammarAccess.getDownStrokeAccess().getDeathNumberSignKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DownStroke__DeathAssignment_0


    // $ANTLR start rule__DownStroke__NameAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2657:1: rule__DownStroke__NameAssignment_1 : ( ( '>' ) ) ;
    public final void rule__DownStroke__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2661:1: ( ( ( '>' ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2662:1: ( ( '>' ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2662:1: ( ( '>' ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2663:1: ( '>' )
            {
             before(grammarAccess.getDownStrokeAccess().getNameGreaterThanSignKeyword_1_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2664:1: ( '>' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2665:1: '>'
            {
             before(grammarAccess.getDownStrokeAccess().getNameGreaterThanSignKeyword_1_0()); 
            match(input,62,FOLLOW_62_in_rule__DownStroke__NameAssignment_15506); 
             after(grammarAccess.getDownStrokeAccess().getNameGreaterThanSignKeyword_1_0()); 

            }

             after(grammarAccess.getDownStrokeAccess().getNameGreaterThanSignKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__DownStroke__NameAssignment_1


    // $ANTLR start rule__UpStroke__DeathAssignment_0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2680:1: rule__UpStroke__DeathAssignment_0 : ( ( '#' ) ) ;
    public final void rule__UpStroke__DeathAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2684:1: ( ( ( '#' ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2685:1: ( ( '#' ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2685:1: ( ( '#' ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2686:1: ( '#' )
            {
             before(grammarAccess.getUpStrokeAccess().getDeathNumberSignKeyword_0_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2687:1: ( '#' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2688:1: '#'
            {
             before(grammarAccess.getUpStrokeAccess().getDeathNumberSignKeyword_0_0()); 
            match(input,61,FOLLOW_61_in_rule__UpStroke__DeathAssignment_05550); 
             after(grammarAccess.getUpStrokeAccess().getDeathNumberSignKeyword_0_0()); 

            }

             after(grammarAccess.getUpStrokeAccess().getDeathNumberSignKeyword_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__UpStroke__DeathAssignment_0


    // $ANTLR start rule__UpStroke__NameAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2703:1: rule__UpStroke__NameAssignment_1 : ( ( '<' ) ) ;
    public final void rule__UpStroke__NameAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2707:1: ( ( ( '<' ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2708:1: ( ( '<' ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2708:1: ( ( '<' ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2709:1: ( '<' )
            {
             before(grammarAccess.getUpStrokeAccess().getNameLessThanSignKeyword_1_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2710:1: ( '<' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2711:1: '<'
            {
             before(grammarAccess.getUpStrokeAccess().getNameLessThanSignKeyword_1_0()); 
            match(input,63,FOLLOW_63_in_rule__UpStroke__NameAssignment_15594); 
             after(grammarAccess.getUpStrokeAccess().getNameLessThanSignKeyword_1_0()); 

            }

             after(grammarAccess.getUpStrokeAccess().getNameLessThanSignKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__UpStroke__NameAssignment_1


    // $ANTLR start rule__Pause__NameAssignment
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2726:1: rule__Pause__NameAssignment : ( ( '!' ) ) ;
    public final void rule__Pause__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2730:1: ( ( ( '!' ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2731:1: ( ( '!' ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2731:1: ( ( '!' ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2732:1: ( '!' )
            {
             before(grammarAccess.getPauseAccess().getNameExclamationMarkKeyword_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2733:1: ( '!' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2734:1: '!'
            {
             before(grammarAccess.getPauseAccess().getNameExclamationMarkKeyword_0()); 
            match(input,64,FOLLOW_64_in_rule__Pause__NameAssignment5638); 
             after(grammarAccess.getPauseAccess().getNameExclamationMarkKeyword_0()); 

            }

             after(grammarAccess.getPauseAccess().getNameExclamationMarkKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Pause__NameAssignment


    // $ANTLR start rule__Hold__NameAssignment
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2749:1: rule__Hold__NameAssignment : ( ( '-' ) ) ;
    public final void rule__Hold__NameAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2753:1: ( ( ( '-' ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2754:1: ( ( '-' ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2754:1: ( ( '-' ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2755:1: ( '-' )
            {
             before(grammarAccess.getHoldAccess().getNameHyphenMinusKeyword_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2756:1: ( '-' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2757:1: '-'
            {
             before(grammarAccess.getHoldAccess().getNameHyphenMinusKeyword_0()); 
            match(input,65,FOLLOW_65_in_rule__Hold__NameAssignment5682); 
             after(grammarAccess.getHoldAccess().getNameHyphenMinusKeyword_0()); 

            }

             after(grammarAccess.getHoldAccess().getNameHyphenMinusKeyword_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Hold__NameAssignment


    // $ANTLR start rule__Chord__ChordAssignment
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2772:1: rule__Chord__ChordAssignment : ( ( RULE_STRING ) ) ;
    public final void rule__Chord__ChordAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2776:1: ( ( ( RULE_STRING ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2777:1: ( ( RULE_STRING ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2777:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2778:1: ( RULE_STRING )
            {
             before(grammarAccess.getChordAccess().getChordChordDefinitionCrossReference_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2779:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2780:1: RULE_STRING
            {
             before(grammarAccess.getChordAccess().getChordChordDefinitionSTRINGTerminalRuleCall_0_1()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Chord__ChordAssignment5725); 
             after(grammarAccess.getChordAccess().getChordChordDefinitionSTRINGTerminalRuleCall_0_1()); 

            }

             after(grammarAccess.getChordAccess().getChordChordDefinitionCrossReference_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Chord__ChordAssignment


    // $ANTLR start rule__Note__NoteAssignment_0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2791:1: rule__Note__NoteAssignment_0 : ( ruleNoteWrapper ) ;
    public final void rule__Note__NoteAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2795:1: ( ( ruleNoteWrapper ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2796:1: ( ruleNoteWrapper )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2796:1: ( ruleNoteWrapper )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2797:1: ruleNoteWrapper
            {
             before(grammarAccess.getNoteAccess().getNoteNoteWrapperParserRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleNoteWrapper_in_rule__Note__NoteAssignment_05760);
            ruleNoteWrapper();
            _fsp--;

             after(grammarAccess.getNoteAccess().getNoteNoteWrapperParserRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Note__NoteAssignment_0


    // $ANTLR start rule__Note__GitStringAssignment_2
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2806:1: rule__Note__GitStringAssignment_2 : ( ( RULE_STRING ) ) ;
    public final void rule__Note__GitStringAssignment_2() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2810:1: ( ( ( RULE_STRING ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2811:1: ( ( RULE_STRING ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2811:1: ( ( RULE_STRING ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2812:1: ( RULE_STRING )
            {
             before(grammarAccess.getNoteAccess().getGitStringGuitarStrCrossReference_2_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2813:1: ( RULE_STRING )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2814:1: RULE_STRING
            {
             before(grammarAccess.getNoteAccess().getGitStringGuitarStrSTRINGTerminalRuleCall_2_0_1()); 
            match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Note__GitStringAssignment_25795); 
             after(grammarAccess.getNoteAccess().getGitStringGuitarStrSTRINGTerminalRuleCall_2_0_1()); 

            }

             after(grammarAccess.getNoteAccess().getGitStringGuitarStrCrossReference_2_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Note__GitStringAssignment_2


    // $ANTLR start rule__Fret__FretAssignment
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2825:1: rule__Fret__FretAssignment : ( RULE_INT ) ;
    public final void rule__Fret__FretAssignment() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2829:1: ( ( RULE_INT ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2830:1: ( RULE_INT )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2830:1: ( RULE_INT )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2831:1: RULE_INT
            {
             before(grammarAccess.getFretAccess().getFretINTTerminalRuleCall_0()); 
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Fret__FretAssignment5830); 
             after(grammarAccess.getFretAccess().getFretINTTerminalRuleCall_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__Fret__FretAssignment


    // $ANTLR start rule__NoteName__NoteAssignment_0
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2840:1: rule__NoteName__NoteAssignment_0 : ( ruleNotes ) ;
    public final void rule__NoteName__NoteAssignment_0() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2844:1: ( ( ruleNotes ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2845:1: ( ruleNotes )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2845:1: ( ruleNotes )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2846:1: ruleNotes
            {
             before(grammarAccess.getNoteNameAccess().getNoteNotesEnumRuleCall_0_0()); 
            pushFollow(FOLLOW_ruleNotes_in_rule__NoteName__NoteAssignment_05861);
            ruleNotes();
            _fsp--;

             after(grammarAccess.getNoteNameAccess().getNoteNotesEnumRuleCall_0_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NoteName__NoteAssignment_0


    // $ANTLR start rule__NoteName__OctaveAssignment_1
    // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2855:1: rule__NoteName__OctaveAssignment_1 : ( ( ' oct' ) ) ;
    public final void rule__NoteName__OctaveAssignment_1() throws RecognitionException {

        		int stackSize = keepStackSize();
            
        try {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2859:1: ( ( ( ' oct' ) ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2860:1: ( ( ' oct' ) )
            {
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2860:1: ( ( ' oct' ) )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2861:1: ( ' oct' )
            {
             before(grammarAccess.getNoteNameAccess().getOctaveOctKeyword_1_0()); 
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2862:1: ( ' oct' )
            // ../org.eclipse.gittab.dsl.ui/src-gen/org/eclipse/gittab/contentassist/antlr/internal/InternalGitTabDsl.g:2863:1: ' oct'
            {
             before(grammarAccess.getNoteNameAccess().getOctaveOctKeyword_1_0()); 
            match(input,66,FOLLOW_66_in_rule__NoteName__OctaveAssignment_15897); 
             after(grammarAccess.getNoteNameAccess().getOctaveOctKeyword_1_0()); 

            }

             after(grammarAccess.getNoteNameAccess().getOctaveOctKeyword_1_0()); 

            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {

            	restoreStackSize(stackSize);

        }
        return ;
    }
    // $ANTLR end rule__NoteName__OctaveAssignment_1


 

    public static final BitSet FOLLOW_ruleTabModel_in_entryRuleTabModel60 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTabModel67 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TabModel__Group__0_in_ruleTabModel94 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_entryRuleImport120 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleImport127 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__Group__0_in_ruleImport154 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTuning_in_entryRuleTuning180 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTuning187 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tuning__Group__0_in_ruleTuning214 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGuitarStr_in_entryRuleGuitarStr240 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleGuitarStr247 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GuitarStr__Group__0_in_ruleGuitarStr274 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleChordLibrary_in_entryRuleChordLibrary300 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleChordLibrary307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ChordLibrary__Group__0_in_ruleChordLibrary334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleChordDefinition_in_entryRuleChordDefinition360 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleChordDefinition367 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ChordDefinition__Group__0_in_ruleChordDefinition394 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTab_in_entryRuleTab420 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTab427 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tab__Group__0_in_ruleTab454 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBeat_in_entryRuleBeat480 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBeat487 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Beat__Group__0_in_ruleBeat514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTone_in_entryRuleTone540 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTone547 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tone__Group__0_in_ruleTone574 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStroke_in_entryRuleStroke600 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleStroke607 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Stroke__Alternatives_in_ruleStroke634 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDownStroke_in_entryRuleDownStroke660 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDownStroke667 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DownStroke__Group__0_in_ruleDownStroke694 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUpStroke_in_entryRuleUpStroke720 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleUpStroke727 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UpStroke__Group__0_in_ruleUpStroke754 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePause_in_entryRulePause780 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePause787 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Pause__NameAssignment_in_rulePause814 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHold_in_entryRuleHold840 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleHold847 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Hold__NameAssignment_in_ruleHold874 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSound_in_entryRuleSound900 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSound907 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Sound__Alternatives_in_ruleSound934 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleChord_in_entryRuleChord960 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleChord967 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Chord__ChordAssignment_in_ruleChord994 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNote_in_entryRuleNote1020 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNote1027 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Note__Group__0_in_ruleNote1054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNoteWrapper_in_entryRuleNoteWrapper1080 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNoteWrapper1087 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NoteWrapper__Alternatives_in_ruleNoteWrapper1114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFret_in_entryRuleFret1140 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFret1147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Fret__FretAssignment_in_ruleFret1174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNoteName_in_entryRuleNoteName1200 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleNoteName1207 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NoteName__Group__0_in_ruleNoteName1234 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GuitarSound__Alternatives_in_ruleGuitarSound1271 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Notes__Alternatives_in_ruleNotes1307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NoteValues__Alternatives_in_ruleNoteValues1343 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDownStroke_in_rule__Stroke__Alternatives1378 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleUpStroke_in_rule__Stroke__Alternatives1395 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePause_in_rule__Stroke__Alternatives1412 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleHold_in_rule__Stroke__Alternatives1429 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNote_in_rule__Sound__Alternatives1461 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleChord_in_rule__Sound__Alternatives1478 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFret_in_rule__NoteWrapper__Alternatives1510 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNoteName_in_rule__NoteWrapper__Alternatives1527 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_rule__GuitarSound__Alternatives1560 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_12_in_rule__GuitarSound__Alternatives1581 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rule__GuitarSound__Alternatives1602 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_rule__GuitarSound__Alternatives1623 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_rule__GuitarSound__Alternatives1644 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_rule__GuitarSound__Alternatives1665 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_rule__Notes__Alternatives1701 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_rule__Notes__Alternatives1722 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_rule__Notes__Alternatives1743 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_rule__Notes__Alternatives1764 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_rule__Notes__Alternatives1785 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_rule__Notes__Alternatives1806 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_rule__Notes__Alternatives1827 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_rule__Notes__Alternatives1848 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_rule__Notes__Alternatives1869 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_rule__Notes__Alternatives1890 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_27_in_rule__Notes__Alternatives1911 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_rule__Notes__Alternatives1932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_rule__Notes__Alternatives1953 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_rule__Notes__Alternatives1974 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_rule__Notes__Alternatives1995 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_32_in_rule__Notes__Alternatives2016 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_33_in_rule__Notes__Alternatives2037 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_34_in_rule__NoteValues__Alternatives2073 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_35_in_rule__NoteValues__Alternatives2094 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_36_in_rule__NoteValues__Alternatives2115 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_37_in_rule__NoteValues__Alternatives2136 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_38_in_rule__NoteValues__Alternatives2157 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TabModel__ImportsAssignment_0_in_rule__TabModel__Group__02194 = new BitSet(new long[]{0x0000018000000000L});
    public static final BitSet FOLLOW_rule__TabModel__Group__1_in_rule__TabModel__Group__02204 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TabModel__TuningAssignment_1_in_rule__TabModel__Group__12232 = new BitSet(new long[]{0x0000A00000000002L});
    public static final BitSet FOLLOW_rule__TabModel__Group__2_in_rule__TabModel__Group__12241 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TabModel__ChordLibraryAssignment_2_in_rule__TabModel__Group__22269 = new BitSet(new long[]{0x0000A00000000002L});
    public static final BitSet FOLLOW_rule__TabModel__Group__3_in_rule__TabModel__Group__22279 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__TabModel__TabAssignment_3_in_rule__TabModel__Group__32307 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_39_in_rule__Import__Group__02351 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Import__Group__1_in_rule__Import__Group__02361 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Import__ImportURIAssignment_1_in_rule__Import__Group__12389 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_40_in_rule__Tuning__Group__02428 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Tuning__Group__1_in_rule__Tuning__Group__02438 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tuning__NameAssignment_1_in_rule__Tuning__Group__12466 = new BitSet(new long[]{0x0000020000000000L});
    public static final BitSet FOLLOW_rule__Tuning__Group__2_in_rule__Tuning__Group__12475 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_41_in_rule__Tuning__Group__22504 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Tuning__Group__3_in_rule__Tuning__Group__22514 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tuning__FretsAssignment_3_in_rule__Tuning__Group__32542 = new BitSet(new long[]{0x0000040000000002L});
    public static final BitSet FOLLOW_rule__Tuning__Group__4_in_rule__Tuning__Group__32551 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tuning__StringsAssignment_4_in_rule__Tuning__Group__42579 = new BitSet(new long[]{0x0000040000000002L});
    public static final BitSet FOLLOW_42_in_rule__GuitarStr__Group__02625 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__GuitarStr__Group__1_in_rule__GuitarStr__Group__02635 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GuitarStr__NameAssignment_1_in_rule__GuitarStr__Group__12663 = new BitSet(new long[]{0x0000080000000000L});
    public static final BitSet FOLLOW_rule__GuitarStr__Group__2_in_rule__GuitarStr__Group__12672 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_43_in_rule__GuitarStr__Group__22701 = new BitSet(new long[]{0x00000003FFFE0000L});
    public static final BitSet FOLLOW_rule__GuitarStr__Group__3_in_rule__GuitarStr__Group__22711 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GuitarStr__NoteAssignment_3_in_rule__GuitarStr__Group__32739 = new BitSet(new long[]{0x0000100000000000L});
    public static final BitSet FOLLOW_rule__GuitarStr__Group__4_in_rule__GuitarStr__Group__32748 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_44_in_rule__GuitarStr__Group__42777 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__GuitarStr__Group__5_in_rule__GuitarStr__Group__42787 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__GuitarStr__MidiAssignment_5_in_rule__GuitarStr__Group__52815 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_45_in_rule__ChordLibrary__Group__02862 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__ChordLibrary__Group__1_in_rule__ChordLibrary__Group__02872 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ChordLibrary__NameAssignment_1_in_rule__ChordLibrary__Group__12900 = new BitSet(new long[]{0x0000400000000002L});
    public static final BitSet FOLLOW_rule__ChordLibrary__Group__2_in_rule__ChordLibrary__Group__12909 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ChordLibrary__ChordsAssignment_2_in_rule__ChordLibrary__Group__22937 = new BitSet(new long[]{0x0000400000000002L});
    public static final BitSet FOLLOW_46_in_rule__ChordDefinition__Group__02979 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__ChordDefinition__Group__1_in_rule__ChordDefinition__Group__02989 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ChordDefinition__NameAssignment_1_in_rule__ChordDefinition__Group__13017 = new BitSet(new long[]{0x00000003FFFE0022L});
    public static final BitSet FOLLOW_rule__ChordDefinition__Group__2_in_rule__ChordDefinition__Group__13026 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__ChordDefinition__NotesAssignment_2_in_rule__ChordDefinition__Group__23054 = new BitSet(new long[]{0x00000003FFFE0022L});
    public static final BitSet FOLLOW_47_in_rule__Tab__Group__03096 = new BitSet(new long[]{0x0001000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__1_in_rule__Tab__Group__03106 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_48_in_rule__Tab__Group__13135 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Tab__Group__2_in_rule__Tab__Group__13145 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tab__NameAssignment_2_in_rule__Tab__Group__23173 = new BitSet(new long[]{0x0002000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__3_in_rule__Tab__Group__23182 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_49_in_rule__Tab__Group__33211 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Tab__Group__4_in_rule__Tab__Group__33221 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tab__AuthorAssignment_4_in_rule__Tab__Group__43249 = new BitSet(new long[]{0x0004000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__5_in_rule__Tab__Group__43258 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_50_in_rule__Tab__Group__53287 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Tab__Group__6_in_rule__Tab__Group__53297 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tab__TempoAssignment_6_in_rule__Tab__Group__63325 = new BitSet(new long[]{0x0008000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__7_in_rule__Tab__Group__63334 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_51_in_rule__Tab__Group__73363 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Tab__Group__8_in_rule__Tab__Group__73373 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tab__NumAssignment_8_in_rule__Tab__Group__83401 = new BitSet(new long[]{0x0010000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__9_in_rule__Tab__Group__83410 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_52_in_rule__Tab__Group__93439 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Tab__Group__10_in_rule__Tab__Group__93449 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tab__DenomAssignment_10_in_rule__Tab__Group__103477 = new BitSet(new long[]{0x0020000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__11_in_rule__Tab__Group__103486 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_53_in_rule__Tab__Group__113515 = new BitSet(new long[]{0x000000000001F800L});
    public static final BitSet FOLLOW_rule__Tab__Group__12_in_rule__Tab__Group__113525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tab__GuitarAssignment_12_in_rule__Tab__Group__123553 = new BitSet(new long[]{0x0040000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__13_in_rule__Tab__Group__123562 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_54_in_rule__Tab__Group__133591 = new BitSet(new long[]{0x0980000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__14_in_rule__Tab__Group__133601 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tab__BeatAssignment_14_in_rule__Tab__Group__143629 = new BitSet(new long[]{0x0980000000000000L});
    public static final BitSet FOLLOW_rule__Tab__Group__15_in_rule__Tab__Group__143639 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_55_in_rule__Tab__Group__153668 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Beat__NotesAssignment_0_in_rule__Beat__Group__03735 = new BitSet(new long[]{0x0900000000000000L});
    public static final BitSet FOLLOW_rule__Beat__Group__1_in_rule__Beat__Group__03745 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_56_in_rule__Beat__Group__13774 = new BitSet(new long[]{0x0600000000000002L});
    public static final BitSet FOLLOW_rule__Beat__Group__2_in_rule__Beat__Group__13784 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Beat__Group_2__0_in_rule__Beat__Group__23812 = new BitSet(new long[]{0x0400000000000002L});
    public static final BitSet FOLLOW_rule__Beat__Group__3_in_rule__Beat__Group__23822 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Beat__Group_3__0_in_rule__Beat__Group__33850 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_57_in_rule__Beat__Group_2__03894 = new BitSet(new long[]{0x000000000001F800L});
    public static final BitSet FOLLOW_rule__Beat__Group_2__1_in_rule__Beat__Group_2__03904 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Beat__GuitarAssignment_2_1_in_rule__Beat__Group_2__13932 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_58_in_rule__Beat__Group_3__03971 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_rule__Beat__Group_3__1_in_rule__Beat__Group_3__03981 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Beat__CountAssignment_3_1_in_rule__Beat__Group_3__14009 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_59_in_rule__Tone__Group__04048 = new BitSet(new long[]{0x10000003FFFE0030L});
    public static final BitSet FOLLOW_rule__Tone__Group__1_in_rule__Tone__Group__04058 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tone__SoundAssignment_1_in_rule__Tone__Group__14086 = new BitSet(new long[]{0x1000000000000000L});
    public static final BitSet FOLLOW_rule__Tone__Group__2_in_rule__Tone__Group__14096 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_60_in_rule__Tone__Group__24125 = new BitSet(new long[]{0x0000007C00000000L});
    public static final BitSet FOLLOW_rule__Tone__Group__3_in_rule__Tone__Group__24135 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tone__ValueAssignment_3_in_rule__Tone__Group__34163 = new BitSet(new long[]{0xE000000000000002L,0x0000000000000003L});
    public static final BitSet FOLLOW_rule__Tone__Group__4_in_rule__Tone__Group__34172 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Tone__StrokesAssignment_4_in_rule__Tone__Group__44200 = new BitSet(new long[]{0xE000000000000002L,0x0000000000000003L});
    public static final BitSet FOLLOW_rule__DownStroke__DeathAssignment_0_in_rule__DownStroke__Group__04245 = new BitSet(new long[]{0x4000000000000000L});
    public static final BitSet FOLLOW_rule__DownStroke__Group__1_in_rule__DownStroke__Group__04255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__DownStroke__NameAssignment_1_in_rule__DownStroke__Group__14283 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UpStroke__DeathAssignment_0_in_rule__UpStroke__Group__04321 = new BitSet(new long[]{0x8000000000000000L});
    public static final BitSet FOLLOW_rule__UpStroke__Group__1_in_rule__UpStroke__Group__04331 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__UpStroke__NameAssignment_1_in_rule__UpStroke__Group__14359 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Note__NoteAssignment_0_in_rule__Note__Group__04397 = new BitSet(new long[]{0x0200000000000000L});
    public static final BitSet FOLLOW_rule__Note__Group__1_in_rule__Note__Group__04406 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_57_in_rule__Note__Group__14435 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_rule__Note__Group__2_in_rule__Note__Group__14445 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__Note__GitStringAssignment_2_in_rule__Note__Group__24473 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NoteName__NoteAssignment_0_in_rule__NoteName__Group__04513 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000004L});
    public static final BitSet FOLLOW_rule__NoteName__Group__1_in_rule__NoteName__Group__04522 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rule__NoteName__OctaveAssignment_1_in_rule__NoteName__Group__14550 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleImport_in_rule__TabModel__ImportsAssignment_04589 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTuning_in_rule__TabModel__TuningAssignment_14620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleChordLibrary_in_rule__TabModel__ChordLibraryAssignment_24651 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTab_in_rule__TabModel__TabAssignment_34682 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Import__ImportURIAssignment_14713 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Tuning__NameAssignment_14744 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Tuning__FretsAssignment_34775 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGuitarStr_in_rule__Tuning__StringsAssignment_44806 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__GuitarStr__NameAssignment_14837 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNotes_in_rule__GuitarStr__NoteAssignment_34868 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__GuitarStr__MidiAssignment_54899 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__ChordLibrary__NameAssignment_14930 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleChordDefinition_in_rule__ChordLibrary__ChordsAssignment_24961 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__ChordDefinition__NameAssignment_14992 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNote_in_rule__ChordDefinition__NotesAssignment_25023 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Tab__NameAssignment_25054 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Tab__AuthorAssignment_45085 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Tab__TempoAssignment_65116 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Tab__NumAssignment_85147 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Tab__DenomAssignment_105178 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGuitarSound_in_rule__Tab__GuitarAssignment_125209 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBeat_in_rule__Tab__BeatAssignment_145240 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTone_in_rule__Beat__NotesAssignment_05271 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleGuitarSound_in_rule__Beat__GuitarAssignment_2_15302 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Beat__CountAssignment_3_15333 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSound_in_rule__Tone__SoundAssignment_15364 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNoteValues_in_rule__Tone__ValueAssignment_35395 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleStroke_in_rule__Tone__StrokesAssignment_45426 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_61_in_rule__DownStroke__DeathAssignment_05462 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_62_in_rule__DownStroke__NameAssignment_15506 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_61_in_rule__UpStroke__DeathAssignment_05550 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_63_in_rule__UpStroke__NameAssignment_15594 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_64_in_rule__Pause__NameAssignment5638 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_65_in_rule__Hold__NameAssignment5682 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Chord__ChordAssignment5725 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNoteWrapper_in_rule__Note__NoteAssignment_05760 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_STRING_in_rule__Note__GitStringAssignment_25795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_rule__Fret__FretAssignment5830 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleNotes_in_rule__NoteName__NoteAssignment_05861 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_66_in_rule__NoteName__OctaveAssignment_15897 = new BitSet(new long[]{0x0000000000000002L});

}